3 Replies Latest reply on Mar 15, 2005 5:29 PM by jason.greene

    .NET client with doc/literal JBossWS service

      I ran into a problem last week where I was trying to create a .NET client for a doc/literal JBoss web service. My WSDL included and imported serveral schemas (OAGIS schemas) from other files. It turns out the wsdl.exe from .NET SDK doesn't handle schema includes or imports where the URI has a query string. For example, the schema in my WSDL looked like this:

      <xs:schema targetNamespace="http://www.dis-corp.com/xml/2005/ebiz">
      <xs:import namespace="http://www.openapplications.org/oagis" schemaLocation="http://daved:8080/rentalsalesorder/RentalSalesOrder?wsdl&amp;resource=SalesOrderFlat.xsd"/>
      ...
      </xs:schema>
      


      My solution was to rework part of JBossWS to write the location like this:
      schemaLocation="http://daved:8080/rentalsalesorder/RentalSalesOrder/wsdl_resource/SalesOrderFlat.xsd"


      I can open a bug report and submit a patch if needed.

        • 1. Re: .NET client with doc/literal JBossWS service
          anil.saldhana

          Isn't it better to ask the .Net folks to provide support for the included schema rather than modify JBossWS to work around this issue?

          • 2. Re: .NET client with doc/literal JBossWS service

            Yes, but... Isn't it better to do what you can to make a system work instead of making it someone else's problem?

            I am also submitting this to the .NET folks, but who knows when or if they will get around to fixing it? This change only negatively impacts JBoss in that you can't have a web service bound to a URL with "/wsdl_resource/" in it. The positive impact of working with a .NET client far outweighs that in my situation, and I would think it would in most cases.

            • 3. Re: .NET client with doc/literal JBossWS service
              jason.greene

              Interesting.....

              Did you open a bug with Microsoft on this, they should support any valid url string as that is allowed by the schema?

              Also, if you don't want to maintain your own tree of jbossws there is an option you can add to your jboss.xml or jboss-web.xml called wsdl-publish-location. It controls where the wsdl files, and related elements are published (in a directory fasiion). So you could configure a wsdl location on your filesystem that is exposed via tomcat or apache.

              Thank you for offering a patch, If you dont think the above is an acceptable workaround, you can submit this as a feature enhancement request/patch in jira http://jira.jboss.com/jira/browse/JBWS.

              Thanks,
              -Jason