Will this change be included in tomorrow (1/18/2008) release? 

Thanks,

Alan J


--------------------------------------------
Alan R Jones
Boeing S&IS Mission Systems
Denver Engineering Center (BDEC)

-----Original Message-----
From: indika kumara [mailto:[EMAIL PROTECTED] 
Sent: Thursday, January 17, 2008 11:01 AM
To: [email protected]
Subject: Re: [esb-java-user] Wsdl importing xsd

Hi Alan


In the ESB 1.5 release , we haven't provided a Custom URI Resolver for
resolving WSDL and schema imports. Therefore , all the imports were
resolved relatively to the ESB home. I have just changed the existing
code and committed the required changes to the synapse. If you could
check the your scenario with the ESB and synapse current svn, then you
would have following options for resolving imports.


    *

      For Proxy service WSDL


option 1 : You can use the actual WSDL and schema without any changes. 
All imports are resolved against the parent URI(base URI).


option2 : If you want to use the actual service WSDL without any changes
but schema have to keep in the registry. Then, you can do it as follows
.

Example : The External service WSDL is located at
http://localhost:9443/service/proxy/test_proxy.wsdl
<http://localhost:9443/service/proxy/test_proxy_1.wsdl> and It has
following the schema import

<wsdl:types>

<xs:schema targetNamespace="http://services.samples/xsd";>

<xs:import schemaLocation="/*test_proxy.xsd*/" 
namespace="http://services.samples/xsd"/>

</xs:schema>

</wsdl:types>

if you want to keep the XSD file in the registry under
*registry/schema/new_schema.xsd* and then use it as the schema for the
actual WSDL.

Then ,you have edit the synape.xml as follows .

add the registry definition

<registry provider="org.apache.synapse.registry.url.SimpleURLRegistry">

<parameter name="root">*file:registry/*</parameter>

<parameter name="cachableDuration">15000</parameter>

</registry>

And then add proxy service as


<proxy name="....">

..............

<publishWSDL uri="http://localhost:9443/service/proxy/test_proxy.wsdl
<http://localhost:9443/service/proxy/test_proxy_1.wsdl> ">

/<resource location="//*test_proxy.xsd*//" 
key="/*schema/new_schema.xsd*/"/> /

</publishWSDL>

</proxy>

if you doesn't specify the <resource > , then the imported schema will
be resolved against WSDL base URI then there should be a schema at
http://localhost:9443/service/proxy/test_proxy.wsd
<http://localhost:9443/service/proxy/test_schema.wsd>.


    *

      For WSDL endpoint

Only has one option (option 1), that means it resolves URI relative to
the parent URI.

NOTE : For Inlined WSDL ( both of endpoints and proxy services) , the
base URI is computed by a system property called "resolve.root" and it's
default value is $ESB_HOME/repository. This is because , in the inlined
case , there is no base URI.


Thanks

Indika



Jones, Alan R wrote:
> OK, so should I still put the schema physically into the Integrtaed 
> Registry, and then make the import statement change or it does not 
> matter? I am just wondering if there is any logical correlation of an 
> actual XSD file and the WSDL  as parts of a configured proxy, as if 
> they were all assets of a configured proxy, to be held in the
registry.
>
>
> Thanks,
>
> Alan J
>
> _______________________________________________
> Esb-java-user mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user
>
>   

_______________________________________________
Esb-java-user mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user

_______________________________________________
Esb-java-user mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user

Reply via email to