[ https://issues.apache.org/jira/browse/CXF-1682?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Jozef updated CXF-1682: ------------------------------ Fix Version/s: (was: Invalid) 2.0.8 2.1.2 Priority: Major (was: Critical) Description: Here is the WSDL that CXF cannot handle. http://demo.aws.air-worldwide.com/aws/passporttogo.asmx?wsdl If you generate a client with wsdl2java in both latest releases of CXF you will see that it fails at runtime. I tested the code against JAXWS-RI client and it works fine. This is the usecase to test; public void runThis(){ try { com.air_worldwide.webservices.PassportToGo service = new com.air_worldwide.webservices.PassportToGo(); com.air_worldwide.webservices.PassportToGoSoap port = service.getPassportToGoSoap(); java.lang.String xmlReqStg = str; java.lang.String result = port.getISOData(xmlReqStg); System.out.println("Result = "+result); } catch (Exception ex) { // TODO handle custom exceptions here } please use this following string for the parameter of the porg.getISOData( ) method "<ISORequests><RequestHeader><AIR><LicenseKey>QLAFKIUDJ%7DLWEHAVLFEJN%60%7DWQKJ%60</LicenseKey><LoginID>amkeystone_ws</LoginID><Password>amke9919</Password></AIR><Passport><LoginID>AARPASA#</LoginID> <Password>ARPASA#</Password> <ResellerID>33755</ResellerID><OrderAccountNumber>41619</OrderAccountNumber> <ShipToAccountNumber>41619</ShipToAccountNumber><WebServiceUserID>PIDAIRPASSA</WebServiceUserID> <WebServicePassword>k!9s!j45</WebServicePassword><UserID>0</UserID></Passport></RequestHeader><ISORequest><Products>DetailPPC</Products><Addresses><Options parse=\"yes\" validateCSZ=\"no\" validateAddress=\"yes\" geocode=\"yes\" returnHighestScore=\"yes\" /><Address><Type>UnparsedRiskAddress</Type><Addr1>Address 1</Addr1><City>City</City><StateProv>State</StateProv><PostalCode>Zip</PostalCode><ZIP4/><ZIPCarrierRoute/></Address></Addresses></ISORequest></ISORequests> " Using the build.xml script i get the following error C:\CXF\genClients>ant PassportToGoSoapClient1 Buildfile: build.xml compile: PassportToGoSoapClient1: [java] Invoking getISOData... [java] Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Cou ld not send Message. [java] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy .java:199) [java] at $Proxy39.getISOData(Unknown Source) [java] at com.air_worldwide.webservices.PassportToGoSoap_PassportToGoSo ap_Client.main(PassportToGoSoap_PassportToGoSoap_Client.java:57) [java] Caused by: org.apache.cxf.interceptor.Fault: Could not send Message. [java] at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSe nderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64) [java] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseI nterceptorChain.java:221) [java] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296 ) [java] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242 ) [java] at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.ja va:73) [java] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy .java:178) [java] ... 2 more [java] Caused by: java.io.IOException: Not Found [java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream .handleResponse(HTTPConduit.java:1929) [java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream .close(HTTPConduit.java:1832) [java] at org.apache.cxf.transport.AbstractConduit.close(AbstractCondui t.java:66) [java] at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.j ava:591) [java] at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSe nderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) [java] ... 7 more [java] Java Result: 1 BUILD SUCCESSFUL Total time: 3 seconds Also in this error when running as a JUNIT test java.lang.IncompatibleClassChangeError at org.apache.cxf.wsdl11.WSDLServiceBuilder.copyExtensionAttributes(WSDLServiceBuilder.java:120) at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:243) at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:160) at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:117) at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:141) at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:132) at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:65) at javax.xml.ws.Service.<init>(Service.java:36) at com.air_worldwide.webservices.PassportToGo.<init>(PassportToGo.java:46) at com.bipt.tiva.uw.jaxws.client.air_worldwide.AirWSClient.getISODataDetailPPC(AirWSClient.java:323) at com.bipt.tiva.test.jaxws.client.AirClientTest.testAirClientMenthod(AirClientTest.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196 was: Here is the WSDL that CXF cannot handle. http://demo.aws.air-worldwide.com/aws/passporttogo.asmx?wsdl If you generate a client with wsdl2java in both latest releases of CXF you will see that it fails at runtime. I tested the code against JAXWS-RI client and it works fine. This is the usecase to test; public void runThis(){ try { com.air_worldwide.webservices.PassportToGo service = new com.air_worldwide.webservices.PassportToGo(); com.air_worldwide.webservices.PassportToGoSoap port = service.getPassportToGoSoap(); java.lang.String xmlReqStg = str; java.lang.String result = port.getISOData(xmlReqStg); System.out.println("Result = "+result); } catch (Exception ex) { // TODO handle custom exceptions here } please use this following string for the parameter of the porg.getISOData( ) method "<ISORequests><RequestHeader><AIR><LicenseKey>QLAFKIUDJ%7DLWEHAVLFEJN%60%7DWQKJ%60</LicenseKey><LoginID>amkeystone_ws</LoginID><Password>amke9919</Password></AIR><Passport><LoginID>AARPASA#</LoginID> <Password>ARPASA#</Password> <ResellerID>33755</ResellerID><OrderAccountNumber>41619</OrderAccountNumber> <ShipToAccountNumber>41619</ShipToAccountNumber><WebServiceUserID>PIDAIRPASSA</WebServiceUserID> <WebServicePassword>k!9s!j45</WebServicePassword><UserID>0</UserID></Passport></RequestHeader><ISORequest><Products>DetailPPC</Products><Addresses><Options parse=\"yes\" validateCSZ=\"no\" validateAddress=\"yes\" geocode=\"yes\" returnHighestScore=\"yes\" /><Address><Type>UnparsedRiskAddress</Type><Addr1>Address 1</Addr1><City>City</City><StateProv>State</StateProv><PostalCode>Zip</PostalCode><ZIP4/><ZIPCarrierRoute/></Address></Addresses></ISORequest></ISORequests> " Using the build.xml script i get the following error C:\CXF\genClients>ant PassportToGoSoapClient1 Buildfile: build.xml compile: PassportToGoSoapClient1: [java] Invoking getISOData... [java] Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Cou ld not send Message. [java] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy .java:199) [java] at $Proxy39.getISOData(Unknown Source) [java] at com.air_worldwide.webservices.PassportToGoSoap_PassportToGoSo ap_Client.main(PassportToGoSoap_PassportToGoSoap_Client.java:57) [java] Caused by: org.apache.cxf.interceptor.Fault: Could not send Message. [java] at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSe nderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64) [java] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseI nterceptorChain.java:221) [java] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296 ) [java] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242 ) [java] at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.ja va:73) [java] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy .java:178) [java] ... 2 more [java] Caused by: java.io.IOException: Not Found [java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream .handleResponse(HTTPConduit.java:1929) [java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream .close(HTTPConduit.java:1832) [java] at org.apache.cxf.transport.AbstractConduit.close(AbstractCondui t.java:66) [java] at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.j ava:591) [java] at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSe nderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) [java] ... 7 more [java] Java Result: 1 BUILD SUCCESSFUL Total time: 3 seconds Also in this error when running as a JUNIT test java.lang.IncompatibleClassChangeError at org.apache.cxf.wsdl11.WSDLServiceBuilder.copyExtensionAttributes(WSDLServiceBuilder.java:120) at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:243) at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:160) at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:117) at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:141) at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:132) at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:65) at javax.xml.ws.Service.<init>(Service.java:36) at com.air_worldwide.webservices.PassportToGo.<init>(PassportToGo.java:46) at com.bipt.tiva.uw.jaxws.client.air_worldwide.AirWSClient.getISODataDetailPPC(AirWSClient.java:323) at com.bipt.tiva.test.jaxws.client.AirClientTest.testAirClientMenthod(AirClientTest.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) I take that back. it still does not work when you try to configure the client like this <bean id="airFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"> <property name="serviceClass" value="com.air_worldwide.webservices.PassportToGoSoap"/> <property name="address" value="http://demo.aws.air-worldwide.com/aws/passporttogo.asmx"/> </bean> <bean id="airClient" class="com.air_worldwide.webservices.PassportToGoSoap" factory-bean="airFactory" factory-method="create"/> this way it seems like the configuration for no chunking is ignored > Generated Web service Client fails for > http://demo.aws.air-worldwide.com/aws/passporttogo.asmx?wsdl > --------------------------------------------------------------------------------------------------- > > Key: CXF-1682 > URL: https://issues.apache.org/jira/browse/CXF-1682 > Project: CXF > Issue Type: Bug > Components: JAX-WS Runtime > Affects Versions: 2.1.1, 2.0.7 > Reporter: Martin Jozef > Fix For: 2.1.2, 2.0.8 > > > Here is the WSDL that CXF cannot handle. > http://demo.aws.air-worldwide.com/aws/passporttogo.asmx?wsdl > If you generate a client with wsdl2java in both latest releases of CXF you > will see that it fails at runtime. > I tested the code against JAXWS-RI client and it works fine. > This is the usecase to test; > > > public void runThis(){ > > > try { > com.air_worldwide.webservices.PassportToGo service = new > com.air_worldwide.webservices.PassportToGo(); > com.air_worldwide.webservices.PassportToGoSoap port = > service.getPassportToGoSoap(); > > java.lang.String xmlReqStg = str; > > java.lang.String result = port.getISOData(xmlReqStg); > System.out.println("Result = "+result); > } catch (Exception ex) { > // TODO handle custom exceptions here > } > please use this following string for the parameter of the porg.getISOData( ) > method > > "<ISORequests><RequestHeader><AIR><LicenseKey>QLAFKIUDJ%7DLWEHAVLFEJN%60%7DWQKJ%60</LicenseKey><LoginID>amkeystone_ws</LoginID><Password>amke9919</Password></AIR><Passport><LoginID>AARPASA#</LoginID> > <Password>ARPASA#</Password> > <ResellerID>33755</ResellerID><OrderAccountNumber>41619</OrderAccountNumber> > > <ShipToAccountNumber>41619</ShipToAccountNumber><WebServiceUserID>PIDAIRPASSA</WebServiceUserID> > > <WebServicePassword>k!9s!j45</WebServicePassword><UserID>0</UserID></Passport></RequestHeader><ISORequest><Products>DetailPPC</Products><Addresses><Options > parse=\"yes\" validateCSZ=\"no\" validateAddress=\"yes\" geocode=\"yes\" > returnHighestScore=\"yes\" > /><Address><Type>UnparsedRiskAddress</Type><Addr1>Address > 1</Addr1><City>City</City><StateProv>State</StateProv><PostalCode>Zip</PostalCode><ZIP4/><ZIPCarrierRoute/></Address></Addresses></ISORequest></ISORequests> > " > Using the build.xml script i get the following error > C:\CXF\genClients>ant PassportToGoSoapClient1 > Buildfile: build.xml > compile: > PassportToGoSoapClient1: > [java] Invoking getISOData... > [java] Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: > Cou > ld not send Message. > [java] at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy > .java:199) > [java] at $Proxy39.getISOData(Unknown Source) > [java] at > com.air_worldwide.webservices.PassportToGoSoap_PassportToGoSo > ap_Client.main(PassportToGoSoap_PassportToGoSoap_Client.java:57) > [java] Caused by: org.apache.cxf.interceptor.Fault: Could not send > Message. > [java] at > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSe > nderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64) > [java] at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseI > nterceptorChain.java:221) > [java] at > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296 > ) > [java] at > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242 > ) > [java] at > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.ja > va:73) > [java] at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy > .java:178) > [java] ... 2 more > [java] Caused by: java.io.IOException: Not Found > [java] at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream > .handleResponse(HTTPConduit.java:1929) > [java] at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream > .close(HTTPConduit.java:1832) > [java] at > org.apache.cxf.transport.AbstractConduit.close(AbstractCondui > t.java:66) > [java] at > org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.j > ava:591) > [java] at > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSe > nderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) > [java] ... 7 more > [java] Java Result: 1 > BUILD SUCCESSFUL > Total time: 3 seconds > Also in this error when running as a JUNIT test > java.lang.IncompatibleClassChangeError > at > org.apache.cxf.wsdl11.WSDLServiceBuilder.copyExtensionAttributes(WSDLServiceBuilder.java:120) > at > org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:243) > at > org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:160) > at > org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:117) > at > org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:141) > at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:132) > at > org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:65) > at javax.xml.ws.Service.<init>(Service.java:36) > at > com.air_worldwide.webservices.PassportToGo.<init>(PassportToGo.java:46) > at > com.bipt.tiva.uw.jaxws.client.air_worldwide.AirWSClient.getISODataDetailPPC(AirWSClient.java:323) > at > com.bipt.tiva.test.jaxws.client.AirClientTest.testAirClientMenthod(AirClientTest.java:18) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:618) > at junit.framework.TestCase.runTest(TestCase.java:154) > at junit.framework.TestCase.runBare(TestCase.java:127) > at > org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76) > at junit.framework.TestResult$1.protect(TestResult.java:106) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at > org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128) > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.