[jboss-user] [JBossWS] - Re: Problem importing multiple schema from the same namespac

Didi1976 do-not-reply at jboss.com
Mon Jan 21 05:42:52 EST 2008


Is there any solution till now? We ran in a similar problem:

A SLSB calls a WebService on a Bea WLI to trigger there some processing. The generated WSDL from the WLI looks like:


  | <?xml version="1.0" encoding="utf-8"?>
  | <wsdl:definitions 
  |   xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" 
  |   xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" 
  |   xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
  |   xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" 
  |   xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
  |   xmlns:s="http://www.w3.org/2001/XMLSchema" 
  |   xmlns:s0="http://www.openuri.org/" 
  |   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
  |   xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
  |   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
  |   targetNamespace="http://www.openuri.org/">
  |   <wsdl:types>
  |     <s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:test="http://test.softsolution.at" elementFormDefault="qualified" targetNamespace="http://www.openuri.org/">
  |       <s:import namespace="http://test.softsolution.at"/>
  |       <s:element name="clientRequest">
  |         <s:complexType>
  |           <s:sequence>
  |             <s:element ref="test:AllParts"/>
  |           </s:sequence>
  |         </s:complexType>
  |       </s:element>
  |       <s:element name="clientRequestResponse">
  |         <s:complexType>
  |           <s:sequence/>
  |         </s:complexType>
  |       </s:element>
  |     </s:schema>
  |     <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://test.softsolution.at" targetNamespace="http://test.softsolution.at" elementFormDefault="qualified" attributeFormDefault="unqualified">
  |       <xs:element name="AllParts">
  |         <xs:annotation>
  |           <xs:documentation>Combine PartA and PartB</xs:documentation>
  |         </xs:annotation>
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element ref="tns:PartA"/>
  |             <xs:element ref="tns:PartB"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |     </xs:schema>
  |         <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://test.softsolution.at" targetNamespace="http://test.softsolution.at" elementFormDefault="qualified" attributeFormDefault="unqualified">
  |       <xs:element name="PartA">
  |         <xs:annotation>
  |           <xs:documentation>First Part of the Test</xs:documentation>
  |         </xs:annotation>
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="ElementA" type="xs:string"/>
  |             <xs:element name="ElementB" type="xs:long"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |     </xs:schema>
  |         <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://test.softsolution.at" targetNamespace="http://test.softsolution.at" elementFormDefault="qualified" attributeFormDefault="unqualified">
  |       <xs:element name="PartB">
  |         <xs:annotation>
  |           <xs:documentation>Second Part of the Test</xs:documentation>
  |         </xs:annotation>
  |         <xs:complexType>
  |           <xs:sequence>
  |             <xs:element name="ElementC" type="xs:string"/>
  |             <xs:element name="ElementD" type="xs:long"/>
  |           </xs:sequence>
  |         </xs:complexType>
  |       </xs:element>
  |     </xs:schema>
  |     
  |   </wsdl:types>
  |   <wsdl:message name="clientRequestSoapIn">
  |     <wsdl:part name="parameters" element="s0:clientRequest"/>
  |   </wsdl:message>
  |   <wsdl:message name="clientRequestSoapOut">
  |     <wsdl:part name="parameters" element="s0:clientRequestResponse"/>
  |   </wsdl:message>
  |   <wsdl:portType name="testAllPartsSoap">
  |     <wsdl:operation name="clientRequest">
  |       <wsdl:input message="s0:clientRequestSoapIn"/>
  |       <wsdl:output message="s0:clientRequestSoapOut"/>
  |     </wsdl:operation>
  |   </wsdl:portType>
  |   <wsdl:binding name="testAllPartsSoap" type="s0:testAllPartsSoap">
  |     <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
  |     <wsdl:operation name="clientRequest">
  |       <soap:operation soapAction="http://www.openuri.org/clientRequest" style="document"/>
  |       <wsdl:input>
  |         <soap:body use="literal"/>
  |       </wsdl:input>
  |       <wsdl:output>
  |         <soap:body use="literal"/>
  |       </wsdl:output>
  |     </wsdl:operation>
  |   </wsdl:binding>
  |   <wsdl:service name="testAllParts">
  |     <wsdl:port name="testAllPartsSoap" binding="s0:testAllPartsSoap">
  |       <soap:address location="http://xpscd:7001/TestWeb/testAllParts.jpd"/>
  |     </wsdl:port>
  |   </wsdl:service>
  | </wsdl:definitions>
  | 

The following error is logged by the JBoss Server (4.2.2.GA):


  | 2008-01-21 11:08:04,342 ERROR [org.jboss.ws.metadata.wsdl.xmlschema.JBossXSErrorHandler] JBossWS_www.openuri.org_23041.xsd[domain:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve]::Message=src-resolve: Cannot resolve the name 'test:AllParts' to a(n) 'element declaration' component.
  | 

It seems that there is a problem in handling multiple schemas mapped to the same targetNamespace.

The ws-client classes are generated and work correctly without any error if used directly with jax-ws.

The error does not prevent the WebService from being called. So the error can be ignored (should it be ignored?).

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

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



More information about the jboss-user mailing list