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