[JBossESB, SOAPClient] Consumming web service with imported xsd
ryval Sep 24, 2010 10:25 AMHi,
I'm trying to consume an external webservice from Jboss ESB.
I took the quickstart webservice_consumer_wise2 and its working fine.
But when I try to call my webservice, which WSDL file is importing 3 xsd files, I got the following error when I try to call it :
2010-09-24 15:46:23,921 INFO [STDOUT] (pool-65-thread-1) Request map is: 2010-09-24 15:46:23,921 INFO [STDOUT] (pool-65-thread-1) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 2010-09-24 15:46:23,937 INFO [STDOUT] (pool-65-thread-1) Request map is: {external=com.vinci.park.model.wsconsumer.Contrats@184640e} 2010-09-24 15:46:23,937 INFO [STDOUT] (pool-65-thread-1) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 2010-09-24 15:46:23,984 INFO [STDOUT] (pool-65-thread-1) parsing WSDL... 2010-09-24 15:46:24,000 INFO [STDOUT] (pool-65-thread-1) [ERROR] Premature end of file. 2010-09-24 15:46:24,000 INFO [STDOUT] (pool-65-thread-1) unknown location 2010-09-24 15:46:24,000 INFO [STDOUT] (pool-65-thread-1) [ERROR] Failed to read the WSDL document: file:/d:/temp/mockWSHttpBinding_IPlateformeEchange?WSDL&interface=WSHttpBinding_IPlateformeEchange&part=PlateformeEchange_1.xsd, because 1) could not find the document; /2) the document could not be read; 3) the root element of the document is not <wsdl:definitions>.
It seems that the server try to locate the imported xsd file using the path configured by "wise.tmpDir" the wise-core.properties ...
Here is my wise-core.properties :
wise.tmpDir=d\:\\temp wise.forceImportObject=true wise.keepGeneratedSources=true wise.wsImporter.verbose=true wise.targetPackage=com.vinci.park.transport.wsConsumer.generated
My service in jboss-esb.xml :
<service category="MyServiceContrat" name="Contrats" description="Contrat Webservice Consumer" invmScope="GLOBAL" > <listeners> <jms-listener busidref="contratEsbChannel" name="JMS-ESBListener"/> <jms-listener busidref="contratGWChannel" is-gateway="true" name="JMS-Gateway"/> </listeners> <actions mep="RequestResponse"> <action name="request-mapper" class="com.vinci.park.wsconsumer.request.MyRequestAction"/> <action name="soap-wise-client-action" class="org.jboss.soa.esb.actions.soap.wise.SOAPClient" > <property name="wsdl" value="http://localhost:8095/mockWSHttpBinding_IPlateformeEchange?WSDL" /> <property name="SOAPAction" value="http://tempuri.org/IPlateformeEchange/GererContrat"/> <property name="EndPointName" value="WSHttpBinding_IPlateformeEchange"/> <property name="SmooksRequestMapper" value="smooks-request-config.xml"/> <property name="LoggingMessages" value="false" /> <property name="serviceName" value="PlateformeEchange"/> <property name="username" value=""/> <property name="password" value=""/> </action> <action name="response-mapper" class="com.vinci.park.wsconsumer.request.MyResponseAction"/> <action name="testStore" class="org.jboss.soa.esb.actions.TestMessageStore"/> </actions> </service>
The import part from my wsdl :
<wsdl:types> <xsd:schema targetNamespace="http://tempuri.org/Imports"> <xsd:import namespace="http://tempuri.org/" schemaLocation="mockWSHttpBinding_IPlateformeEchange?WSDL&interface=WSHttpBinding_IPlateformeEchange&part=PlateformeEchange_1.xsd"/> <xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" schemaLocation="mockWSHttpBinding_IPlateformeEchange?WSDL&interface=WSHttpBinding_IPlateformeEchange&part=PlateformeEchange_2.xsd"/> <xsd:import namespace="http://schemas.datacontract.org/2004/07/PE" schemaLocation="mockWSHttpBinding_IPlateformeEchange?WSDL&interface=WSHttpBinding_IPlateformeEchange&part=PlateformeEchange_3.xsd"/> </xsd:schema> </wsdl:types>
I'm stuck and don't really what's wrong ... the wise configuration or the wsdl file ...
Ce message a été modifié par: Ryv Al