带有javax问题的Web服务soap认证
我在这个地址有一个名为FCSAPreval的web服务 我能够使用wsimport命令从web服务的WSDL获取所有类。 我在尝试使用soap访问此服务时遇到问题,我的代码是:带有javax问题的Web服务soap认证,java,web-services,soap,Java,Web Services,Soap,我在这个地址有一个名为FCSAPreval的web服务 我能够使用wsimport命令从web服务的WSDL获取所有类。 我在尝试使用soap访问此服务时遇到问题,我的代码是: URL url = new URL("https://fcsa-test-preval-ws.gaa.qc.ca/fcsa-preval.svc?wsdl"); QName qname = new QName("https://fcsa-test-preval-ws.gaa.qc.ca/",
URL url = new URL("https://fcsa-test-preval-ws.gaa.qc.ca/fcsa-preval.svc?wsdl");
QName qname = new QName("https://fcsa-test-preval-ws.gaa.qc.ca/", "FCSAPreval");
Service service = Service.create(url, qname);
FCSAPreval hello = service.getPort(FCSAPreval.class);
它不断抛出以下错误:
xception in thread "main" javax.xml.ws.WebServiceException: {https://fcsa-test-preval-ws.gaa.qc.ca/}fcsa-preval.svc is not a valid service. The valid services are : {http://tempuri.org/}FCSAPreval
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:310)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:215)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:196)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:192)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
at javax.xml.ws.Service.<init>(Service.java:77)
at javax.xml.ws.Service.create(Service.java:707)
at test.test.main(test.java:39)
线程“main”javax.xml.ws.WebServiceException中的异常:{https://fcsa-test-preval-ws.gaa.qc.ca/}fcsa-preval.svc不是有效的服务。有效服务包括:{http://tempuri.org/}FCSAPreval
在com.sun.xml.internal.ws.client.WSServiceDelegate上。(WSServiceDelegate.java:310)
在com.sun.xml.internal.ws.client.WSServiceDelegate上。(WSServiceDelegate.java:215)
在com.sun.xml.internal.ws.client.WSServiceDelegate上。(WSServiceDelegate.java:196)
在com.sun.xml.internal.ws.client.WSServiceDelegate上。(WSServiceDelegate.java:192)
位于com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
位于javax.xml.ws.Service。(Service.java:77)
位于javax.xml.ws.Service.create(Service.java:707)
位于test.test.main(test.java:39)
谢谢你的帮助 您必须使用wsdl中定义的正确命名空间:
<wsdl:definitions .... name="FCSAPreval" targetNamespace="http://tempuri.org/">
我想是的,这看起来像是命名空间问题
QName qname = new QName("http://tempuri.org/", "FCSAPreval");