Hi folks,

this thread is about the URLs that we rewrite in the wsdl for wsdl imports and 
schema includes. Lets look at JIRA issue JBWS-153 for this discussion

The wsdl uses 


  |   <wsdl:types>
  |     <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="http://www.dis-corp.com/xml/2005/ebiz";>
  |     <xsd:include schemaLocation="schemas/get/Get.xsd"/>
  |     </xsd:schema>
  |   </wsdl:types>
  | 

The wsdl is obtained through URL

http://satellite:8080/ws4ee-jbws153/Order?wsdl

and the include is rewritten as


  |   <wsdl:types>
  |     <xsd:schema targetNamespace="http://www.dis-corp.com/xml/2005/ebiz"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
  |     <xsd:include 
schemaLocation="/ws4ee-jbws153/Order?wsdl&amp;resource=schemas/get/Get.xsd"/>
  |     </xsd:schema>
  |   </wsdl:types>
  | 

which VB.net does not understand.

The issue is that the schemaLocation cannot be simply treated as relative URL 
because it results in 

http://satellite:8080/ws4ee-jbws153/schemas/get/Get.xsd

which is obviously invalid.

A solution recently suggested on the forums uses a predefined URL path to 
obtain the wsdl and its included artifacts, like this:

http://satellite:8080/ws4ee-jbws153/Order/wsdl

for the wsdl, and hence

http://satellite:8080/ws4ee-jbws153/Order/schemas/get/Get.xsd

for the included schema.

The problem with this is that the web.xml defines the servlet mapping as 


  |   <servlet-mapping>
  |     <servlet-name>Order</servlet-name>
  |     <url-pattern>/Order</url-pattern>
  |   </servlet-mapping>
  | 

and not as


  |   <servlet-mapping>
  |     <servlet-name>Order</servlet-name>
  |     <url-pattern>/Order/*</url-pattern>
  |   </servlet-mapping>
  | 

which BTW is disallowed by the WS4EE spec. 

The URL

http://satellite:8080/ws4ee-jbws153/Order/schemas/get/Get.xsd

is invalid and will not be redirected to the ServiceEndpointServlet for schema 
delivery to the client.

Ok, we rewrite the web.xml anyway and might want to append the missing /*. 
Changeing .../Order?wsdl to .../Order/wsdl would break all clients which should 
not be done lilght heartedly.

I seek your feedback on this "rewrite issue". Is there any possible way of 
avoiding complex parameter lists, which are not supported by .NET? How do other 
stacks do it?

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3871263#3871263

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3871263


-------------------------------------------------------
This SF.net email is sponsored by: 2005 Windows Mobile Application Contest
Submit applications for Windows Mobile(tm)-based Pocket PCs or Smartphones
for the chance to win $25,000 and application distribution. Enter today at
http://ads.osdn.com/?ad_id=6882&alloc_id=15148&op=click
_______________________________________________
JBoss-Development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to