Getting IAE using JBossWS to access MS Dynamics AX
lafr May 21, 2009 4:45 PMServer: JBoss-4.2.4GA with jbossws-3.0.1-native-2.0.4.GA.
I used wsconsume to generate the client artefacts from an MS Dynamics Axapta 2009 instance.
When trying to use one of them I get
Caused by: java.lang.IllegalArgumentException: Illegal null argument:ns at org.jboss.ws.metadata.wsdl.xmlschema.JBossXSModel.createNamespaceItemIfNotExistent(JBossXSModel.java:511) at org.jboss.ws.metadata.wsdl.xmlschema.JBossXSModel.addXSElementDeclaration(JBossXSModel.java:351) at org.jboss.ws.metadata.wsdl.xmlschema.WSSchemaUtils.copyXSModel(WSSchemaUtils.java:707) at org.jboss.ws.tools.JavaToXSD.parseSchema(JavaToXSD.java:202) at org.jboss.ws.tools.wsdl.WSDL11Reader.processTypes(WSDL11Reader.java:401) at org.jboss.ws.tools.wsdl.WSDL11Reader.processDefinition(WSDL11Reader.java:178) at org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory.parse(WSDLDefinitionsFactory.java:128) at org.jboss.ws.metadata.umdm.ServiceMetaData.getWsdlDefinitions(ServiceMetaData.java:295) at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.buildMetaData(JAXWSClientMetaDataBuilder.java:86) at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.<init>(ServiceDelegateImpl.java:140) at org.jboss.ws.core.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:64) at javax.xml.ws.Service.<init>(Service.java:81) at com.microsoft.schemas.dynamics._2008._01.services.GeneralJournalService_Service.<init>(GeneralJournalService_Service.java:40) at biz.mbisoftware.fn.ejb.session.inventory.GeneralLedgerIfAx2009.sendAggregatedValues(GeneralLedgerIfAx2009.java:36)
I found https://jira.jboss.org/jira/browse/JBWS-686 which is solved, but studying the wsdl a question came up to my mind.
The wsdl contains an import without namespace. Can this cause the exception?
If yes, what can I do?
First lines of WSDL:
<wsdl:definitions name="GeneralJournalService" targetNamespace="http://schemas.microsoft.com/dynamics/2008/01/services"> <wsp:Policy wsu:Id="BasicHttpBinding_GeneralJournalService_policy"> <wsp:ExactlyOne> <wsp:All> <http:NegotiateAuthentication/> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> <wsdl:types> <xsd:schema targetNamespace="http://schemas.microsoft.com/dynamics/2008/01/services/Imports"> <xsd:import schemaLocation="http://ax-srv-01.contoso.com/MicrosoftDynamicsAXAif50/generaljournalservice.svc?xsd=xsd0" namespace="http://schemas.microsoft.com/dynamics/2008/01/services"/> <xsd:import schemaLocation="http://ax-srv-01.contoso.com/MicrosoftDynamicsAXAif50/generaljournalservice.svc?xsd=xsd6" namespace="http://schemas.microsoft.com/dynamics/2008/01/documents/Fault"/> <xsd:import schemaLocation="http://ax-srv-01.contoso.com/MicrosoftDynamicsAXAif50/generaljournalservice.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/> <xsd:import schemaLocation="http://ax-srv-01.contoso.com/MicrosoftDynamicsAXAif50/generaljournalservice.svc?xsd=xsd2" namespace="http://schemas.microsoft.com/dynamics/2008/01/documents/LedgerGeneralJournal"/> <xsd:import schemaLocation="http://ax-srv-01.contoso.com/MicrosoftDynamicsAXAif50/generaljournalservice.svc?xsd=xsd3"/> <xsd:import schemaLocation="http://ax-srv-01.contoso.com/MicrosoftDynamicsAXAif50/generaljournalservice.svc?xsd=xsd4" namespace="http://schemas.microsoft.com/dynamics/2006/02/documents/EntityKeyList"/> <xsd:import schemaLocation="http://ax-srv-01.contoso.com/MicrosoftDynamicsAXAif50/generaljournalservice.svc?xsd=xsd5" namespace="http://schemas.microsoft.com/dynamics/2006/02/documents/EntityKey"/> <xsd:import schemaLocation="http://ax-srv-01.contoso.com/MicrosoftDynamicsAXAif50/generaljournalservice.svc?xsd=xsd7" namespace="http://schemas.microsoft.com/dynamics/2006/02/documents/QueryCriteria"/> </xsd:schema> </wsdl:types>