在开发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 not exist!
targetNamespace="http://meetservice.huilin.com" 默认为包名称
我的解决办法:
修改namespace
顶
在开发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 not exist!
targetNamespace="http://meetservice.huilin.com" 默认为包名称
我的解决办法:
修改namespace