在开发webservice的过程中,出现了不少的问题,现就开发过程中的一些问题做如下总结:

第一步:您要有一个wsdl文件,如ServerInterface.wsdl,将其放入你的工程中

第二步:注意红色部分的代码,http://(服务器或Ip地址)/工程名/(web.xml文件中的webservice路径)/(工程中services.xml中的name的值)

如果出现下面异常,第一,检查下配置文件是否有误,第二,在工程中的/WebServices/services.xml文件中,加上如下代码试试

<wsdlURL>file:/wsdl/ServerInterface.wsdl</wsdlURL>

注意:wsdl是项目工程中的一个包名,ServerInterface.wsdl是你已经有的一个wsdl文件

public SMServiceClient() {
        create0();
        Endpoint SMServicePortTypeLocalEndpointEP = service0 .addEndpoint(new QName("http://smsmonitor.asiainfo.com", "SMServicePortTypeLocalEndpoint"), new QName("http://smsmonitor.asiainfo.com", "SMServicePortTypeLocalBinding"), "xfire.local://SMService");
        endpoints.put(new QName("http://smsmonitor.asiainfo.com", "SMServicePortTypeLocalEndpoint"), SMServicePortTypeLocalEndpointEP);
        Endpoint SMServiceHttpPortEP = service0 .addEndpoint(new QName("http://smsmonitor.asiainfo.com", "SMServiceHttpPort"), new QName("http://smsmonitor.asiainfo.com", "SMServiceHttpBinding"),"http://localhost/webserviceUnion/services/SMService");
        endpoints.put(new QName("http://smsmonitor.asiainfo.com", "SMServiceHttpPort"), SMServiceHttpPortEP);
    }org.codehaus.xfire.fault.XFireFault: Parameter {http://smsmonitor.asiainfo.com}send does not exist!
 at org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.Java:201)
 at org.codehaus.xfire.service.binding.DocumentBinding.readMessage(DocumentBinding.java:35)
 at org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
 at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
 at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
 at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
 at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
 at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
 at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
 at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
 at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
 at org.apache.tomcat.util.NET.AprEndpoint$Worker.run(AprEndpoint.java:1509)
 at java.lang.Thread.run(Thread.java:619)

 

 本地测试webservice也出现类似问题

org.codehaus.xfire.fault.XFireFault: Parameter {http://xxx.xxx}method(方法) does n_apache


 

 问题如下:

org.codehaus.xfire.fault.XFireFault_ Parameter {http___xxx.xxx}method(方法) does not exist!
 
targetNamespace="http://meetservice.huilin.com"  默认为包名称

 

我的解决办法:

修改namespace

org.codehaus.xfire.fault.XFireFault: Parameter {http://xxx.xxx}method(方法) does n_Endpoint_02


 

 

 

 

 


 顶


在开发webservice的过程中,出现了不少的问题,现就开发过程中的一些问题做如下总结:

第一步:您要有一个wsdl文件,如ServerInterface.wsdl,将其放入你的工程中

第二步:注意红色部分的代码,http://(服务器或Ip地址)/工程名/(web.xml文件中的webservice路径)/(工程中services.xml中的name的值)

如果出现下面异常,第一,检查下配置文件是否有误,第二,在工程中的/WebServices/services.xml文件中,加上如下代码试试

<wsdlURL>file:/wsdl/ServerInterface.wsdl</wsdlURL>

注意:wsdl是项目工程中的一个包名,ServerInterface.wsdl是你已经有的一个wsdl文件

public SMServiceClient() {
        create0();
        Endpoint SMServicePortTypeLocalEndpointEP = service0 .addEndpoint(new QName("http://smsmonitor.asiainfo.com", "SMServicePortTypeLocalEndpoint"), new QName("http://smsmonitor.asiainfo.com", "SMServicePortTypeLocalBinding"), "xfire.local://SMService");
        endpoints.put(new QName("http://smsmonitor.asiainfo.com", "SMServicePortTypeLocalEndpoint"), SMServicePortTypeLocalEndpointEP);
        Endpoint SMServiceHttpPortEP = service0 .addEndpoint(new QName("http://smsmonitor.asiainfo.com", "SMServiceHttpPort"), new QName("http://smsmonitor.asiainfo.com", "SMServiceHttpBinding"),"http://localhost/webserviceUnion/services/SMService");
        endpoints.put(new QName("http://smsmonitor.asiainfo.com", "SMServiceHttpPort"), SMServiceHttpPortEP);
    }org.codehaus.xfire.fault.XFireFault: Parameter {http://smsmonitor.asiainfo.com}send does not exist!
 at org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.Java:201)
 at org.codehaus.xfire.service.binding.DocumentBinding.readMessage(DocumentBinding.java:35)
 at org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
 at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
 at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
 at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
 at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
 at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
 at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
 at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
 at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
 at org.apache.tomcat.util.NET.AprEndpoint$Worker.run(AprEndpoint.java:1509)
 at java.lang.Thread.run(Thread.java:619)

 

 

 本地测试webservice也出现类似问题

org.codehaus.xfire.fault.XFireFault: Parameter {http://xxx.xxx}method(方法) does n_apache


 

 问题如下:

org.codehaus.xfire.fault.XFireFault_ Parameter {http___xxx.xxx}method(方法) does not exist!
 
targetNamespace="http://meetservice.huilin.com"  默认为包名称

 

我的解决办法:

修改namespace

org.codehaus.xfire.fault.XFireFault: Parameter {http://xxx.xxx}method(方法) does n_Endpoint_02