You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Jim Talbut <Ji...@groupgti.com> on 2009/09/15 18:30:30 UTC
RE: need help with http consumer endpoint for BPEL wsdl with external schema - bug in fix for SM-1351
I have found that I can sometimes get around this error using the CXF BC.
Unfortunately not always.
If the WSDL containts a construct like this:
<types>
<xsd:schema>
<xsd:import namespace="http://spudsoft.co.uk/ <http://spudsoft.co.uk/> " schemaLocation="MathsService.xsd"></xsd:import>
</xsd:schema>
</types>
it is found correctly.
However it cannot find a more complex construct like this:
<types>
<xsd:schema targetNamespace="http://spudsoft.co.uk/service <http://spudsoft.co.uk/service> " elementFormDefault="qualified" xmlns:tns1="http://spudsoft.co.uk/service <http://spudsoft.co.uk/service> ">
<xsd:import namespace="http://spudsoft.co.uk/ <http://spudsoft.co.uk/> " schemaLocation="MathsService.xsd"></xsd:import>
</xsd:schema>
<xsd:element name="Input">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ns0:Source"/>
<xsd:element ref="ns0:Things"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</types>
We tend to use this structure because it enables us to associate our document/literal wrapper types with the service, but to reference business types maintained in a separate document.
Jim
________________________________
From: Jim Talbut [mailto:Jim.Talbut@groupgti.com]
Sent: Thu 03/09/2009 16:32
To: users@servicemix.apache.org
Subject: need help with http consumer endpoint for BPEL wsdl with external schema
I'm trying to wrap a web service with servicemix.
The web service has a wsdl that includes an external schema.
The wsdl contains:
<xsd:import schemaLocation="UserRegistration.xsd"
namespace="http://groupgti.com/
UserRegistration/schema/2.0/UserRegistration"/>
And when I put this into the hotdeploy folder I get:
Caused by: java.io.FileNotFoundException: This file was not found:
file:/home/jtalbut/apache-servicemix-3.3.1/UserRegistration.xsd
Somehow I have to tell ServiceMix where to find the XSD file.
This has been answered before, but I'm afraid I'm too new to this to
know how to use the answer:
http://cwiki.apache.org/SM/discussion-forums.html#nabble-td21132600
so please tell me what to put in the xbeans.xml file to make it work.
Thanks
Jim
RE: need help with http consumer endpoint for BPEL wsdl with external schema - bug in fix for SM-1351
Posted by Jim Talbut <Ji...@groupgti.com>.
Ahah, I found a workaround that is acceptable, I can do this:
<types>
<xsd:schema>
<xsd:import namespace="http://spudsoft.co.uk/ <http://spudsoft.co.uk/> " schemaLocation="MathsService.xsd"></xsd:import>
<xsd:import namespace="http://spudsoft.co.uk/ <http://spudsoft.co.uk/> impl" schemaLocation="MathsServiceImpl.xsd"></xsd:import>
</xsd:schema>
</types>
and it doesn't complain so I hope it works.
There is still a bug there, but with this workaround its priority is lower.
Jim
________________________________
From: Jim Talbut [mailto:Jim.Talbut@groupgti.com]
Sent: Tue 15/09/2009 17:30
To: users@servicemix.apache.org; users@servicemix.apache.org
Subject: RE: need help with http consumer endpoint for BPEL wsdl with external schema - bug in fix for SM-1351
I have found that I can sometimes get around this error using the CXF BC.
Unfortunately not always.
If the WSDL containts a construct like this:
<types>
<xsd:schema>
<xsd:import namespace="http://spudsoft.co.uk/ <http://spudsoft.co.uk/> " schemaLocation="MathsService.xsd"></xsd:import>
</xsd:schema>
</types>
it is found correctly.
However it cannot find a more complex construct like this:
<types>
<xsd:schema targetNamespace="http://spudsoft.co.uk/service <http://spudsoft.co.uk/service> " elementFormDefault="qualified" xmlns:tns1="http://spudsoft.co.uk/service <http://spudsoft.co.uk/service> ">
<xsd:import namespace="http://spudsoft.co.uk/ <http://spudsoft.co.uk/> " schemaLocation="MathsService.xsd"></xsd:import>
</xsd:schema>
<xsd:element name="Input">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ns0:Source"/>
<xsd:element ref="ns0:Things"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</types>
We tend to use this structure because it enables us to associate our document/literal wrapper types with the service, but to reference business types maintained in a separate document.
Jim
________________________________
From: Jim Talbut [mailto:Jim.Talbut@groupgti.com]
Sent: Thu 03/09/2009 16:32
To: users@servicemix.apache.org
Subject: need help with http consumer endpoint for BPEL wsdl with external schema
I'm trying to wrap a web service with servicemix.
The web service has a wsdl that includes an external schema.
The wsdl contains:
<xsd:import schemaLocation="UserRegistration.xsd"
namespace="http://groupgti.com/
UserRegistration/schema/2.0/UserRegistration"/>
And when I put this into the hotdeploy folder I get:
Caused by: java.io.FileNotFoundException: This file was not found:
file:/home/jtalbut/apache-servicemix-3.3.1/UserRegistration.xsd
Somehow I have to tell ServiceMix where to find the XSD file.
This has been answered before, but I'm afraid I'm too new to this to
know how to use the answer:
http://cwiki.apache.org/SM/discussion-forums.html#nabble-td21132600
so please tell me what to put in the xbeans.xml file to make it work.
Thanks
Jim