springCloud项目使用jws开发webservice接口出错的问题,请求大神帮忙

test类

@WebService
@Service
public class test{

    @Autowired
    InfDictionaryService infDictionaryService ;

    @WebMethod(action="execute")
    public String execute(@WebParam(name = "xmlStr")String xmlStr) {
        String result = "";
        try {
             result = infDictionaryService.synSalesMsg(xmlStr);
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("返回报文:"+result);
        return result;
    }

}

发布服务的类

@Configuration
public class BeforeStartUp implements ApplicationListener<ContextRefreshedEvent>{
    @Autowired
    private test testService; 

   private static String address = "http://127.0.0.1:80/ttt"; 
   private static int num =0;

    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        if(num == 0){
            Endpoint.publish(address,testService);
        num ++;
        }
    }
}

另一个项目调用webService接口报错,代码如下:

public class test {
    public static void main(String[] args) throws ServiceException{
        String wsdl = "http://127.0.0.1:80/ttt?wsdl";
        String synSalesMsgXml = "测试数据!";

        Service service = new Service();
        Call call = (Call) service.createCall();
        try {

            call.setTargetEndpointAddress(wsdl);
            call.setOperationName("execute");
            call.addParameter("xmlStr", XMLType.XSD_STRING, ParameterMode.IN);
            call.setReturnType(XMLType.XSD_STRING);
            Object[] paramValues = new Object[] {synSalesMsgXml};
            String result = (String) call.invoke(paramValues);
            System.out.println("result is " + result);
        } catch (Exception e) {
            e.printStackTrace();
        }       
    }

}



报错信息如下

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: 找不到{http://127.0.0.1:80/ttt?wsdl}execute的分派方法
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:找不到{http://127.0.0.1:80/ttt?wsdl}execute的分派方法
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1783)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2970)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at test.main(test.java:67)

{http://xml.apache.org/axis/}hostname:MACHENI-S6PC008

找不到{http://127.0.0.1:80/ttt?wsdl}execute的分派方法
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1783)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2970)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at test.main(test.java:67)

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
基于JWS的Webservice,如何获取访问过来的客户端的真实IP,真实的IP
我的WebService是JWS的,我想要获取访问我接口的客户端的真实IP,而不是路由器分配的虚拟IP。 我的方法: ``` @Resource private WebServiceContext webServiceContext; ``` ``` MessageContext mc = webServiceContext.getMessageContext(); HttpExchange exchange = (HttpExchange)mc.get(JAXWSProperties.HTTP_EXCHANGE); InetSocketAddress isa = exchange.getRemoteAddress(); ip = isa.getAddress().getHostAddress(); //获取IP ``` 但是这种方式获取到的IP 并不是真实的,但是网上的解决方法都是这个。 另外还有人说获取HttpServletRequest ``` HttpServletRequest request= (HttpServletRequest)(mc.get(MessageContext.SERVLET_REQUEST)); ``` 但是获取到的HttpServletRequest始终为NULL。 至此,我还是没有解决方法。。如何获取客户端的真实IP,请各位大神帮帮忙
Spring boot 中使用webservice的问题
自己写完一个demo后,测试时得不到wsdl文档,下面贴上自己的代码 首先是发布服务用的接口 package com.pudding.tcs.ctrip.testservice; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public interface TestService { @WebMethod public String test(String param); } 接下来是接口实现 package com.pudding.tcs.ctrip.testservice; public class TestServiceImpl implements TestService { @Override public String test(String param) { return "param="+param; } } 再接下来是配置类用于发布服务: package com.pudding.tcs.ctrip.config; import javax.xml.ws.Endpoint; import org.apache.cxf.Bus; import org.apache.cxf.bus.spring.SpringBus; import org.apache.cxf.jaxws.EndpointImpl; import org.apache.cxf.transport.servlet.CXFServlet; import org.springframework.boot.context.embedded.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.pudding.tcs.ctrip.testservice.TestService; import com.pudding.tcs.ctrip.testservice.TestServiceImpl; @Configuration public class TestConfig { @Bean public ServletRegistrationBean dispatcherServlet() { return new ServletRegistrationBean(new CXFServlet(), "/soap/*"); } @Bean(name = Bus.DEFAULT_BUS_ID) public SpringBus springBus() { return new SpringBus(); } @Bean public TestService testService() { return new TestServiceImpl(); } @Bean public Endpoint endpoint() { EndpointImpl endpoint = new EndpointImpl(springBus(), testService()); endpoint.publish("/test"); return endpoint; } } 按道理讲这样配置完之后我启动服务器,在地址栏输入http://localhost:8080/soap/test?wsdl是可以显示wsdl文档的。可是现在输完地址浏览器没有任何反应。不知道问题出在了哪里。 还望各路神仙给小弟解答一下
客户端下载不了由webservice接口提供的东西
``` import javax.activation.DataHandler; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.xml.bind.annotation.XmlMimeType; import javax.xml.ws.soap.MTOM; @WebService @SOAPBinding(style = SOAPBinding.Style.RPC) @MTOM public interface ZhizhengService { @XmlMimeType("application/octet-stream") public DataHandler zhizheng(); } ``` ``` import org.springframework.web.context.support.SpringBeanAutowiringSupport; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.jws.WebService; import javax.xml.bind.annotation.XmlMimeType; import javax.xml.ws.soap.MTOM; import java.io.File; @WebService(endpointInterface="com.nantian.jianZhang.webservice.ZhizhengService") @MTOM public class ZhizhengServiceImpl extends SpringBeanAutowiringSupport implements ZhizhengService { @XmlMimeType("application/octet-stream") public DataHandler zhizheng() { return new DataHandler(new FileDataSource(new File("F:/ams20161107/凭证--交易性金融资产.xml"))); } } ``` ``` import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import javax.activation.DataHandler; import javax.xml.namespace.QName; import javax.xml.ws.Service; import com.nantian.jianzhang.webservice.ZhizhengService; public class BASTest { public static void main(String[] args) throws IOException { URL url=new URL("http://localhost:8080/BAS/services/zhizheng?wsdl"); QName qname=new QName("http://webservice.jianZhang.nantian.com/", "ZhizhengServiceImplService"); Service service=Service.create(url, qname); ZhizhengService zhizheng=service.getPort(ZhizhengService.class); DataHandler data=zhizheng.zhizheng(); FileOutputStream outputStream = new FileOutputStream("E:/test.xml"); data.writeTo(outputStream); outputStream.flush(); } } ``` 运行的时候报错: Exception in thread "main" com.sun.xml.internal.ws.protocol.soap.MessageCreationException: 由于出现异常错误, 无法创建 SOAP 消息: com.sun.xml.internal.org.jvnet.mimepull.MIMEParsingException: Reached EOF, but there is no closing MIME boundary. at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(Unknown Source) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(Unknown Source) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(Unknown Source) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(Unknown Source) at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(Unknown Source) at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Unknown Source) at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Unknown Source) at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Unknown Source) at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Unknown Source) at com.sun.xml.internal.ws.client.Stub.process(Unknown Source) at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(Unknown Source) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source) at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(Unknown Source) at com.sun.proxy.$Proxy27.zhizheng(Unknown Source) at com.nantian.test.BASTest.main(BASTest.java:28) Caused by: com.sun.xml.internal.org.jvnet.mimepull.MIMEParsingException: Reached EOF, but there is no closing MIME boundary. at com.sun.xml.internal.org.jvnet.mimepull.MIMEParser.readBody(Unknown Source) at com.sun.xml.internal.org.jvnet.mimepull.MIMEParser.access$600(Unknown Source) at com.sun.xml.internal.org.jvnet.mimepull.MIMEParser$MIMEEventIterator.next(Unknown Source) at com.sun.xml.internal.org.jvnet.mimepull.MIMEParser$MIMEEventIterator.next(Unknown Source) at com.sun.xml.internal.org.jvnet.mimepull.MIMEMessage.makeProgress(Unknown Source) at com.sun.xml.internal.org.jvnet.mimepull.DataHead.read(Unknown Source) at com.sun.xml.internal.org.jvnet.mimepull.MIMEPart.read(Unknown Source) at com.sun.xml.internal.ws.encoding.MimeMultipartParser$PartAttachment.asInputStream(Unknown Source) at com.sun.xml.internal.ws.encoding.MtomCodec.decode(Unknown Source) at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(Unknown Source) at com.sun.xml.internal.ws.encoding.MimeCodec.decode(Unknown Source) ... 16 more
关于apache cxf 结合Spring框架开发webservice服务
我在用apache cxf 结合Spring框架开发webservice服务时,遇到一个这样的问题,请大家帮忙解决一下,问题描述如下: webservice启动配置如下 Java代码 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <jaxws:endpoint id="sqlExecuteService" implementor="com.unicom.uniformdata.SqlExecuteServiceImpl" address="/DesServer"> </jaxws:endpoint> </beans> com.unicom.uniformdata.SqlExecuteServiceImpl类实现如下 Java代码 @javax.jws.WebService( serviceName = "SqlExecuteServiceService", portName = "SqlExecuteServicePort", targetNamespace = "http://uniformdata.unicom.com", endpointInterface = "com.unicom.uniformdata.SqlExecuteService") public class SqlExecuteServiceImpl implements SqlExecuteService { private DaoHelper daoHelper = null; public SqlExecuteServiceImpl() { System.out.println("实例化webservice实现类"); this.daoHelper = GlobalVariable.getInstance().getDaoHelper(); } } public DaoHelper getDaoHelper() { return this.daoHelper == null ? (this.daoHelper = (DaoHelper) SpringUtils.getBean("daoHelper")): this.daoHelper; } 其中daoHelper类的配置是通过<bean>配置的,是数据库操作对象。但在Tomcat启动时,是先实例化SqlExecuteServiceImpl,而不是daoHelper,导致SqlExecuteServiceImpl实例化失败,webservice服务启动失败。这个问题怎么解决。对cxf框架也不是很熟,希望大家能帮助解决一下,谢谢!
cxf简单的helloworld的问题
import javax.jws.WebParam; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHi(@WebParam(name="text") String text); } 这样在客户端, String response = client.sayHi("Joe"); System.out.println("Response: " + response); 返回结果是 Response: Hello Joe。 但是如果把接口类里面的 (@WebParam(name="text") 去掉,变成 import javax.jws.WebParam; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHi( String text); } 结果返回就是Response: Hello null。 这是为什么,我看了其他人写的接口类,不是每个都要加类似与(@WebParam(name="text") 的东西吧。
axis发布webservice的问题!!
小弟刚接触webservice,所以问的问题可能有些幼稚,请各位高手见晾。 我按照网上的教程说的:下载了axis 1.4,解压后把webapps下的axis文件夹考到Tomcat主目录下,把lib下的几个包导入到tomcat的lib下,然后在浏览器中访问: http://localhost:8080/axis/,结果同样的环境配置出现了两种结果,公司的电脑正常,出现了happyaxis的那个页面,然后查看缺哪些包,但是只能打开axis下它自带的那几个jws文件,[i][b]自己建的JWS文件打不开[/b][/i],这是疑问一? 疑问二:同样的环境,家里电脑在输入http://localhost:8080/axis/后,出来一个页面,有几行英文,然后几秒钟后跳转到index.jsp,并且出现了异常该页面打不开。 网上关于这方面的知识实在是太少了,这几天除了吃饭、睡觉、上厕所几乎所有时间都用在了这上头,可一点头绪也没有,头都想大了,也想不出问题出在哪儿,实在没办法了。各位大虾都是过来人,遇到过同样问题的请指点一下,或者帮我想一下问题出在哪儿。小弟不胜感激!!!如果感觉说不清楚的话,加我QQ也行:541196173(请注明:webservice)。 [b]问题补充:[/b] 回mginobili (中级程序员): 我的文件主目录是:E:\webservice\axis,其中axis文件夹是从axis的解压文件中直接考过来的,E:\webservice是Tomcat的主目录。那些jws文件就放在E:\webservice\axis下面。
请问为什么我发布成功了浏览器访问不到
import javax.jws.WebMethod; import javax.jws.WebService; @WebService public interface WebServiceI { @WebMethod String sayHello(String name); @WebMethod String save(String name,String pwd); } import javax.jws.WebService; @WebService(targetNamespace = "org.coderecord.blog") public class WebServiceImpl implements WebServiceI { @Override public String sayHello(String name) { System.out.println("webservice sayHello"+name); return "sayHello "+name; } @Override public String save(String name, String pwd) { System.out.println("webservice save"+ name+","+pwd); return "save Success"; } } import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; import javax.xml.ws.Endpoint; @WebListener public class WebServicePublishListener implements ServletContextListener { @Override public void contextDestroyed(ServletContextEvent sce) { // TODO Auto-generated method stub } @Override public void contextInitialized(ServletContextEvent sce) { String address = "http://localhost:8889/Service/WebserviceTest"; Endpoint.publish(address , new WebServiceImpl()); System.out.println("使用WebServicePublishListener发布webservice成功!"); } }
CXF工程 RuntimeModelBuilder报错
1、我的JDK版本是1.7 2、我的CXF是在官网下载的,我把全部的jar包都加进去了 3、代码 ``` package demo.hw.server; import javax.jws.WebParam; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHi(@WebParam(name="text") String text); } ``` ``` package demo.hw.server; import javax.jws.WebParam; import javax.jws.WebService; @WebService(serviceName="HelloWorld") public class HelloWorldImpl implements HelloWorld { public String sayHi(@WebParam(name="text") String text) { System.out.println("sayHi called"); return "Hello " + text; } } ``` ``` package demo.hw.server; import javax.xml.ws.Endpoint; public class Server { public Server() throws Exception { System.out.println("server start"); HelloWorld helloWorld = new HelloWorldImpl(); String address = "http://localhost:9000/HelloWorld"; Endpoint.publish(address, helloWorld); } public static void main(String args[]) throws Exception { new Server(); System.out.println("Server ready..."); Thread.sleep(5 * 60 * 1000); System.out.println("Server exiting"); System.exit(0); } } ``` 就这三个文件,然后报错。。我都崩溃了,网上说的那些方法不管用啊 报错截图 ![图片说明](https://img-ask.csdn.net/upload/201507/02/1435812727_897605.png) 求助
在idea中jsp涉及到页面跳转就404的问题,求大佬支招!!!!
psp代码:<%-- Created by IntelliJ IDEA. User: HASEE Date: 2019/11/24 Time: 22:22 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8"isELIgnored="false" language="java" %> <html> <head> <title>Title</title> </head> <body> ${requestScope.hai} <form action="/Loginservlet" method="post" value="%{param.name}"> username:<input type="next" name="name"><br/> password:<input type="password" name="password"><br/> <input type="submit" name="tijiao"> </form> </body> </html> servlet 代码: package cn.kgc.servlet; import cn.kgc.entity.utils.User; import cn.kgc.service.UserService; import cn.kgc.service.inpl.Userservicepml; import javax.jws.soap.SOAPBinding; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class Loginservlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取页面输入的用户名和密码 String name = req.getParameter("name"); String password = req.getParameter("password"); //调用service中登录的方法 UserService userService=new Userservicepml(); User user=new User(null,"name","password"); User login = userService.login(user); if (login!=null){ //3.登录成功跳转到succcess.jsp // resp.sendRedirect("/success.jsp"); req.setAttribute("name",name); req.getRequestDispatcher("/success.jsp"); }else { //4登录失败跳转到login.jsp // resp.sendRedirect("/login.jsp"); req.setAttribute("hai","用户名或密码错误"); req.getRequestDispatcher("login.jsp").forward(req,resp); } } } servlet 配置文件(web.xml): <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>Loginservlet</servlet-name> <servlet-class>cn.kgc.servlet.Loginservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Loginservlet</servlet-name> <url-pattern>/Loginservlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>loginout</servlet-name> <servlet-class>cn.kgc.servlet.loginout</servlet-class> </servlet> <servlet-mapping> <servlet-name>loginout</servlet-name> <url-pattern>/loginout</url-pattern> </servlet-mapping> </web-app>
CXF报错Does it exist in service WSDL?如何处理
我spring整合cxf(cxf-2.6.16.jar),然后发布了一个测试服务,在浏览器中可访问到发布的服务。 ![图片说明](https://img-ask.csdn.net/upload/201706/01/1496301158_771615.png) 然后我写了一个客户端去调用我发布的服务,一直报错 ``` 六月 01, 2017 3:03:10 下午 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [springmvc] in context with path [/FeiBao] threw exception [Request processing failed; nested exception is javax.xml.ws.soap.SOAPFaultException: Message part {message.service.com}testStr was not recognized. (Does it exist in service WSDL?)] with root cause org.apache.cxf.binding.soap.SoapFault: Message part {message.service.com}testStr was not recognized. (Does it exist in service WSDL?) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:84) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:51) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:40) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263) at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:845) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1705) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1538) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1445) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:660) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:570) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:479) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:137) ``` 我在百度上搜索问题答案,有说调用服务的接口和服务端不在同一命名空间下,于是我加上了在@WebService中加上了targetNamespace="message.service.com"属性,但是,依旧报同样的错误。找了几个小时,依旧未找到解决办法,跪求大神解答。 我服务端的cxf配置: ``` <bean id="MyTestServiceBean" class="com.webservice.message.impl.MyTestServiceImpl"/> <jaxws:endpoint id="MyTestService" implementor="#MyTestServiceBean" address="/MyTestService"> </jaxws:endpoint> ``` 服务端的接口文件: ``` package com.webservice.message; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; @WebService(targetNamespace="message.service.com") @SOAPBinding(style = Style.RPC) public interface MyTestService { public String testStr(String str); } ``` 服务端的接口实现: ``` package com.webservice.message.impl; import javax.jws.WebService; import com.webservice.message.MyTestService; @WebService (endpointInterface= "com.webservice.message.MyTestService",targetNamespace="message.service.com") public class MyTestServiceImpl implements MyTestService { @Override public String testStr(String str) { return "hello," + str; } } ``` 接下来是客户端的部分 客户端cxf的配置: ``` <jaxws:client id="MyTestService" serviceClass="com.buick.activity.webservice.service.MyTestService" address="http://127.0.0.1:8080/MessageService/ws/CheckVerifyCodeService?wsdl"> </jaxws:client> ``` 客户端的接口文件: ``` package com.buick.activity.webservice.service; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; @WebService(targetNamespace="message.service.com") @SOAPBinding(style = Style.RPC) public interface MyTestService { public String testStr(String str); } ``` 如果觉得我表意不清晰,欢迎追问。
首次使用webservice报错,求解答
代码:import java.util.HashMap; import java.util.Map; import javax.jws.WebMethod; import javax.jws.WebService; import javax.xml.ws.Endpoint; import net.sf.json.JSON; import net.sf.json.JSONObject; @WebService public class sayhello { @WebMethod public JSON add(){ Map<String, Object>test=new HashMap<String, Object>(); test.put("1", "a1"); test.put("2", "a2"); test.put("3", "a3"); test.put("4", "a4"); test.put("5", "a5"); test.put("6", "a6"); JSONObject jsonObject = JSONObject.fromObject(test); return jsonObject; } public static void main(String[] args) { System.out.println(System.getProperty("java.endorsed.dirs")); Endpoint.publish("http://localhost:9001/service/sayhello", new sayhello()); System.out.println("success"); } } SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/E:/jdk/lib/endorsed/slf4j-jdk14-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/C:/Users/%e7%8e%8b%e8%b4%9d%e8%b4%9d/Workspaces/MyEclipse%208.5/service/WebRoot/WEB-INF/lib/slf4j-jdk14-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory] Exception in thread "main" java.lang.ExceptionInInitializerError at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:36) at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:95) at javax.xml.ws.spi.Provider.provider(Provider.java:76) at javax.xml.ws.Endpoint.publish(Endpoint.java:156) at com.net.cn.sayhello.main(sayhello.java:29) Caused by: java.lang.NullPointerException at java.util.ResourceBundle.getBundle(Unknown Source) at org.apache.cxf.common.i18n.BundleUtils.getBundle(BundleUtils.java:80) at org.apache.cxf.common.logging.LogUtils.createLogger(LogUtils.java:249) at org.apache.cxf.common.logging.LogUtils.getL7dLogger(LogUtils.java:201) at org.apache.cxf.jaxws.spi.ProviderImpl.<clinit>(ProviderImpl.java:68) ... 10 more
java cxf webservice整合问题
jws代码: @Service("iom4crm") @WebService(targetNamespace = "http://service.iom.test.com/", serviceName="IOM4CRM") public class Iom4Crm implements IIom4Crm{ @Override @WebMethod(operationName = "exchange") public String exchange(@WebParam(targetNamespace = "http://service.iom.test.com/")String data) { } } cxf配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <!-- 测试--> <jaxws:endpoint id="IOM4CRM" implementor="#iom4crm" address="/IOM4CRM"> <jaxws:features> <bean class="org.apache.cxf.feature.LoggingFeature" /> </jaxws:features> </jaxws:endpoint> </beans> 问题: 服务能正常发布,也能调用,但是生成的服务,请求格式soap报文为: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.iom.test.com/"> <soapenv:Header/> <soapenv:Body> <ser:exchange> <!--Optional:--> <ser:arg0>?</ser:arg0> </ser:exchange> </soapenv:Body> </soapenv:Envelope> ------------------------------------- 现在想要请求的报文 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://service.iom.test.com/"> <soapenv:Header/> <soapenv:Body> <ns1:exchange> <!--Optional:--> <ns1:arg0>?</ns1:arg0> </ns1:exchange> </soapenv:Body> </soapenv:Envelope> ---------------------------------------- 即命名空间前缀有ser修改为ns1,这个ser我也没设置,不知道哪里可以修改设置
试用main方法发布webservice遇到的问题
<p>我初学webservice,按照书上的例子自己敲了一个Demo。<br>如下:</p> <pre name="code" class="Student">package server.soap.bobo.net.bean; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Student") public class Student { private String name; private int age; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } } </pre>   <pre name="code" class="IStudentService">package server.soap.bobo.net.service; import javax.jws.WebService; import server.soap.bobo.net.bean.Student; @WebService public interface IStudentService { public Student selectMaxAgeStudent(Student stu1 , Student stu2); } </pre>   <p>实现类:</p> <pre name="code" class="StudentServiceImpl">package server.soap.bobo.net.service.impl; import server.soap.bobo.net.bean.Student; import server.soap.bobo.net.service.IStudentService; public class StudentServiceImpl implements IStudentService { @Override public Student selectMaxAgeStudent(Student stu1, Student stu2) { if (stu1.getAge() &gt;= stu2.getAge()) { return stu1; } else { return stu2; } } } </pre> <p> 发布服务:</p> <pre name="code" class="SoapServer">package server.soap.bobo.net.server; import javax.xml.ws.Endpoint; import server.soap.bobo.net.service.impl.StudentServiceImpl; public class SoapServer { public static void main(String[] args) { Endpoint.publish("http://127.0.0.1:8040/StudentService" , new StudentServiceImpl()); } } </pre> <p> 以上代码是在MyEclipse中编辑的,使用main方法发布,却报NullPointerException:</p> <pre name="code" class="java">Exception in thread "main" java.lang.NullPointerException at com.sun.xml.internal.ws.server.EndpointFactory.getWsdlLocation(EndpointFactory.java:385) at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.getPrimaryWsdl(EndpointImpl.java:265) at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(EndpointImpl.java:208) at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java:138) at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:90) at javax.xml.ws.Endpoint.publish(Endpoint.java:170) at server.soap.bobo.net.server.SoapServer.main(SoapServer.java:13) </pre> <p> 请各位指点一下!</p>
java webservices 函数参数的命名空间怎么去掉
``` package com.meiinfo.platform; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebParam.Mode; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; import javax.xml.ws.Endpoint; @WebService @SOAPBinding(style = Style.RPC) public class HISToPlatformService { @WebMethod(action="http://temp.org/DoBusiness") @WebResult(name="ehrXml") public String DoBusiness(String header,String body,String ehrXml) { System.out.print("请求头文件:"+header); System.out.print("请求主体文件:"+body); try { ehrXml= QueryKesheXX(header,body); } catch (Exception e) { ehrXml = e.getMessage(); } return ehrXml; } public static void main(String[] args) { Endpoint.publish("http://localhost:9002/platform/HISToPlatformService", new HISToPlatformService()); System.out.println("service success"); } ``` ![图片说明](https://img-ask.csdn.net/upload/201601/26/1453772855_762194.png) 使用POST的方式请求这个服务的时候发现 ``` <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <DoBusiness xmlns="http://platform.meiinfo.com/"> <arg0 xmlns="">12121</arg0> <arg1 xmlns="">2121</arg1> <arg2 xmlns="" /> </DoBusiness> </soap:Body> </soap:Envelope> ``` 参数之后都带了一个空的命名空间 有某有办法去掉
有了Java 6,还需要Axis2、XFire、CXF吗?
首先说明下,对于以上这些开源的框架和JWS,我都用过了。 看了前面一系列Java6 JWS的文章,很显然,无论从开发还是部署角度来说,Java6的JWS都是最容易的。我们不禁回想:有了Java6,还需要Axis2、XFire、CXF吗? 要回答这个问题,需要对几种JWS的实现以及其他功能做个对比就搞明白了。 1、JWS是Java语言对WebService服务的一种实现,用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径。 2、Axis2是Apache下的一个重量级WebService框架,准确说它是一个Web Services / SOAP / WSDL 的引擎,是WebService框架的集大成者,它能不但能制作和发布WebService,而且可以生成Java和其他语言版WebService客户端和服务端代码。这是它的优势所在。但是,这也不可避免的导致了Axis2的复杂性,使用过的开发者都知道,它所依赖的包数量和大小都是很惊人的,打包部署发布都比较麻烦,不能很好的与现有应用整合为一体。但是如果你要开发Java之外别的语言客户端,Axis2提供的丰富工具将是你不二的选择。 3、XFire是一个高性能的WebService框架,在Java6之前,它的知名度甚至超过了Apache的Axis2,XFire的优点是开发方便,与现有的Web整合很好,可以融为一体,并且开发也很方便。但是对Java之外的语言,没有提供相关的代码工具。XFire后来被 Apache收购了,原因是它太优秀了,收购后,随着Java6 JWS的兴起,开源的WebService引擎已经不再被看好,渐渐的都败落了。 4、CXF是Apache旗下一个重磅的SOA简易框架,它实现了ESB(企业服务总线)。CXF来自于XFire项目,经过改造后形成的,就像目前的Struts2来自WebWork一样。可以看出XFire的命运会和WebWork的命运一样,最终会淡出人们的视线。CXF不但是一个优秀的 Web Services / SOAP / WSDL 引擎,也是一个不错的ESB总线,为SOA的实施提供了一种选择方案,当然他不是最好的,它仅仅实现了SOA架构的一部分。 基于以上的认识,我们可以得知,虽然有了Java6,但是我们还可以选择Axis2、XFire、CXF等。我们不能指望有了Java6 JWS,就能异想天开去实施SOA。如果要与别的语言交互,也许我们还有赖于Axis2等等,当然这不是唯一选择,仅仅是一种可供选择的方案。 还有,目前很多企业的应用还是基于Java5的,而Java5的项目不会瞬间都升级到Java6,如果要在老项目上做扩展,我们还有赖于其他开源的WS引擎。 因此,是否还需要Aixs2、XFire、CXF要看你具体的项目是否需要,而不能一概而论。 [b]不知道大家对上面的说法认同不?我是个新手,还请大家多多指教,目前只学了点axis2,下一步该学哪个框架?[/b]
用xfixe开发webservice服务端,发布到weblogic9.1 控制台报错
而发布到tomcat5.5可以的 (已上网查资料三天) 这个问题已困扰我三天了。 开发环境:myeclipse6.0.1(用向导XFire1.2 Core Libraries+spring-1.2.6jar)+jdk1.5+weblogic9.1(自带jdk1.5) 工程lib下已加了webservices.jar和weblogic.jar 其中:http://localhost:7001/myJms/services/myJms?wsdl可以看到WSDL格式 weblogic(已破解)我建的domains是jms 附件里是我做的myJms项目,暂时只做了webserice服务端的. myEclipse里->file->new-> web service project 项目名称为myJms,再在这个项目上的src右键->new others->web services->单选 web service(服务端)->next->Create web service from Java bean...同时勾选上Create new Java bean->next->Web service name 我写的myJms 在Java Package 我New的包是cn.com.hgeagle.rescue.ws->finish [img]/upload/attachment/92394/18c013a6-3f11-3618-b855-bf1c4842463f.jpg[/img] 自动生成的java代码是 package cn.com.hgeagle.rescue.ws; public class myJmsImpl implements ImyJms { public String example(String message) { return message; } } package cn.com.hgeagle.rescue.ws; public interface ImyJms { public String example(String message); } 在WebRoot/WEB-INF文件夹下的web.xml代码是: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>   classpath:org/codehaus/xfire/spring/xfire.xml,/WEB-INF/applicationContext.xml </param-value> </context-param> <!-- --> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener   </listener-class> </listener> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> 在WebServices文件夹下 services.xml为 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>myJms</name> <serviceClass>cn.com.hgeagle.rescue.ws.ImyJms</serviceClass> <implementationClass> cn.com.hgeagle.rescue.ws.myJmsImpl </implementationClass> <style>wrapped</style> <use>literal</use> <scope>application</scope> </service></beans> [img]/upload/attachment/92236/b0faf548-b7fd-3aa6-8556-876e9220b042.jpg[/img] 发布到weblogic9.1控制台报错: 信息: JDK 1.4+ collections available 2009-4-8 16:41:22 org.springframework.context.support.AbstractApplicationContext initMessageSource Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@200309] 参考了网上的资料,在web-inf下又建了ApplicationContext.xml 内容是: <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename"> <value>messages </value> </property> </bean> 同时,在web.xml里加上了(在servlet前): <context-param> <param-name>contextConfigLocation </param-name> <param-value>   classpath:org/codehaus/xfire/spring/xfire.xml,/WEB-INF/applicationContext.xml </param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener   </listener-class> </listener> 再启动weblogic 又报错: <Error> <HTTP> <BEA-101163> <Could not load user defined listener: org.springframework.web.context.ContextLoaderListener   java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 那我是否要再写监听程序呀?请给个思路! 附件里的图片是发布到weblogic9上,启动weblogic9控制台的错误信息 [b]问题补充:[/b] to bohemia (架构师) Spring jar包不在lib下吧?: new web service project 时,myeclipse就自动将XFire1.2 Core Libraries加上去了,包括spring-1.2.6.jar包 [b]问题补充:[/b] 我将web-xml里的 <context-param> <param-name>contextConfigLocation</param-name> <param-value>   classpath:org/codehaus/xfire/spring/xfire.xml,/WEB-INF/applicationContext.xml </param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener   </listener-class> </listener> 注释掉,就报下面的错:(当时,就因为这个原因,我才加上了这些代码) 2009-4-9 9:44:15 org.springframework.context.support.AbstractApplicationContext initMessageSource 信息: Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@200309] [b]问题补充:[/b] 同样的是这个项目,发布到tomcat5.5,控制台正常。 我是用XFire的Servlet发布WS的,我是参照了myeclipse 里的Help->MyEclipse learning Center->Web SErvices Development->Getting Started->Code-First Web Services Tutorial,也大量地在网上找了很多资料 [b]问题补充:[/b] 我控制台没有报这个错:java.lang.ClassNotFoundException 另外:我用weblogic自带的JDK1.5.04和我自己的JDK1.5.05,效果都是一样的 [b]问题补充:[/b] 我是用myEclipse部署的weblogic9. 我在WEB-INF下的webligic.xml的内容: <?xml version="1.0" encoding="UTF-8"?> <weblogic-application xmlns="http://www.bea.com/ns/weblogic/91"> <xml> <parser-factory> <saxparser-factory> org.apache.xerces.jaxp.SAXParserFactoryImpl </saxparser-factory> <document-builder-factory> org.apache.xerces.jaxp.DocumentBuilderFactoryImpl </document-builder-factory> <transformer-factory> org.apache.xalan.processor.TransformerFactoryImpl </transformer-factory> </parser-factory> </xml> <application-param> <param-name>webapp.encoding.default</param-name> <param-value>UTF-8</param-value> </application-param> <prefer-application-packages> <package-name>javax.jws.*</package-name> <package-name>org.apache.xerces.*</package-name> <package-name>org.apache.xalan.*</package-name> </prefer-application-packages> </weblogic-application> [b]问题补充:[/b] 已修改weblogic.xml: <?xml version="1.0" encoding="UTF-8"?> <wls:weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd"> <wls:context-root>GBBDXServer</wls:context-root> <wls:container-descriptor> <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes></wls:container-descriptor> </wls:weblogic-web-app> 控制台仍报错: 2009-4-9 10:18:59 org.springframework.context.support.AbstractApplicationContext refresh 信息: No beans defined in application context [org.codehaus.xfire.transport.http.XFireConfigurableServlet$GenericWebApplicationContextX;hashCode=10111907] 2009-4-9 10:18:59 org.springframework.core.CollectionFactory <clinit> 信息: JDK 1.4+ collections available 2009-4-9 10:18:59 org.springframework.context.support.AbstractApplicationContext initMessageSource 信息: Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@1b8378f] 2009-4-9 10:18:59 org.springframework.context.support.AbstractApplicationContext initApplicationEventMulticaster 其中:不同的是我用的是weblogic9.1的,而XFire的FAQ上用是weblogic9.0的,另外:<wls:context-root>GBBDXServer</wls:context-root>里的GBBDXServer是否要改为我自己的myJms呀?? [b]问题补充:[/b] 仍然报错: Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@38e9e9] 估计还是和Spring文件有关,可是我没有用Spring 只是用XFire 它有自带的spring1.2.6.jar [b]问题补充:[/b] 服务是发布成功了,可控制台报错,因为我还有其它的业务要做,如对数据库表的操作,现在就报错了,下面的工作,我就不好做了 [b]问题补充:[/b] 因为项目工期紧,暂时放到tomcat5下去运行,有时间我还是要发布到weblogic9.1上的,还是要解决这个问题的 [b]问题补充:[/b] to: andilyliao weblogic下的servlet改到2.4以上 请教如何修改? 我的path: E:\bea\weblogic91\server 还是E:\bea\user_projects\domains\jms\config? 还是我项目下的weblogic.xml里? [b]问题补充:[/b] 虽然没有解决问题,但还是非常感激 bohemia
JWS是什么呢?下载安装是下载什么东西呢?
公司让我下载jws到某一个环境,然后进行安装和配置。然后我再网上找JWS下载,找不到呀。有没有大神可以解答一下。在线等
CXF发布到Weblogic的问题
我的web工程是使用CXF-2.7.6来实现的,发布到Tomcat上没有任何问题,但是部署到Weblogic 10.3.5上就发生如下错误:Invalid schema document passed to AbstractDataBinding.addSchemaDocument, not in W3C schema namespace: schema 怀疑是jar包的问题,但不知道具体该怎么做,按照网上的提示,我在工程的META-INF下加了一个weblogic-application.xml:内容如下(限于篇幅写了中间的): <application-param> <param-name>webapp.encoding.default</param-name> <param-value>UTF-8</param-value> </application-param> <prefer-application-packages> <package-name>javax.jws.*</package-name> <package-name>javax.wsdl.*</package-name> </prefer-application-packages> 另外在工程的WEB-INF下面配置了weblogic.xml,内容如下(限于篇幅写了中间的): <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor> (我很想知道这两个文件是配置在工程的这些目录下吗?) 我查过网上一些资料,说要用到EAR包的形式,我都不知道那是什么。希望有类似经验的朋友能给予一定的意见。
关于JWS语义相似度计算
![图片说明](https://img-ask.csdn.net/upload/201504/12/1428843238_730327.jpg) 请问各位码友,方框里面d2与d4分别是毛?他俩的变量注释分别是nouns_sum与nounroot_sum。程旭媛感激不尽
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
MyBatis研习录(01)——MyBatis概述与入门
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis原本是apache的一个开源项目iBatis, 2010年该项目由apache software foundation 迁移到了google code并改名为MyBatis 。2013年11月MyBatis又迁移到Github。
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
Python爬虫精简步骤1 获取数据
爬虫,从本质上来说,就是利用程序在网上拿到对我们有价值的数据。 爬虫能做很多事,能做商业分析,也能做生活助手,比如:分析北京近两年二手房成交均价是多少?广州的Python工程师平均薪资是多少?北京哪家餐厅粤菜最好吃?等等。 这是个人利用爬虫所做到的事情,而公司,同样可以利用爬虫来实现巨大的商业价值。比如你所熟悉的搜索引擎——百度和谷歌,它们的核心技术之一也是爬虫,而且是超级爬虫。 从搜索巨头到人工...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
web前端javascript+jquery知识点总结
1.Javascript 语法.用途 javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
渗透测试-灰鸽子远控木马
木马概述 灰鸽子( Huigezi),原本该软件适用于公司和家庭管理,其功能十分强大,不但能监视摄像头、键盘记录、监控桌面、文件操作等。还提供了黑客专用功能,如:伪装系统图标、随意更换启动项名称和表述、随意更换端口、运行后自删除、毫无提示安装等,并采用反弹链接这种缺陷设计,使得使用者拥有最高权限,一经破解即无法控制。最终导致被黑客恶意使用。原作者的灰鸽子被定义为是一款集多种控制方式于一体的木马程序...
Python:爬取疫情每日数据
前言 目前每天各大平台,如腾讯、今日头条都会更新疫情每日数据,他们的数据源都是一样的,主要都是通过各地的卫健委官网通报。 以全国、湖北和上海为例,分别为以下三个网站: 国家卫健委官网:http://www.nhc.gov.cn/xcs/yqtb/list_gzbd.shtml 湖北卫健委官网:http://wjw.hubei.gov.cn/bmdt/ztzl/fkxxgzbdgrfyyq/xxfb...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计...
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允许使用这...
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧???? 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升自...
粒子群算法求解物流配送路线问题(python)
1.Matlab实现粒子群算法的程序代码:https://www.cnblogs.com/kexinxin/p/9858664.html matlab代码求解函数最优值:https://blog.csdn.net/zyqblog/article/details/80829043 讲解通俗易懂,有数学实例的博文:https://blog.csdn.net/daaikuaichuan/article/...
教你如何编写第一个简单的爬虫
很多人知道爬虫,也很想利用爬虫去爬取自己想要的数据,那么爬虫到底怎么用呢?今天就教大家编写一个简单的爬虫。 下面以爬取笔者的个人博客网站为例获取第一篇文章的标题名称,教大家学会一个简单的爬虫。 第一步:获取页面 #!/usr/bin/python # coding: utf-8 import requests #引入包requests link = "http://www.santostang....
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c# 识别回车 c#生成条形码ean13 c#子控制器调用父控制器 c# 写大文件 c# 浏览pdf c#获取桌面图标的句柄 c# list反射 c# 句柄 进程 c# 倒计时 线程 c# 窗体背景色
立即提问