axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Fell" <sf...@salesforce.com>
Subject RE: <import namespace> question/problem
Date Mon, 31 Jan 2005 19:06:53 GMT
The imports are needed to correctly comply with the XSD spec. There's an
errate to the WS-I BP that clarifies that the rules were not suposed to
make inline schemas invalid. Unfortuanly the WS-I tools haven't been
updated to refelect that.
 
Cheers
Simon


  _____  

	From: Eugene Shershnev [mailto:shersh@gmail.com] 
	Sent: Monday, January 31, 2005 10:36 AM
	To: axis-user@ws.apache.org
	Subject: <import namespace> question/problem
	
	
	Hi All,
	 
	The wrapped WSDL that Axis generated for my service failed to
pass WS-I test using SOAPscope.
	It was failing on R2002
<http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#R2002>
and R2004
<http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#R2004> of
the requirements. In the WS-I BP 1.0 all the samples related to these
two requirements have both namespace and location attributes. Also, in
the schema at http://schemas.xmlsoap.org/wsdl/ both namespace and
location are defined as "required" (if I'm looking at the right thing):
	<xs:complexType name="tImport">
	  <xs:complexContent>
	    <xs:extension base="wsdl:tExtensibleAttributesDocumented">
	      <xs:attribute name="namespace" type="xs:anyURI"
use="required" />
	      <xs:attribute name="location" type="xs:anyURI"
use="required" />
	    </xs:extension>
	  </xs:complexContent>
	</xs:complexType>
	 
	To make it pass the test I've simply commented out both <import
namespace="..."/> elements. Everything was validated and worked
perfectly.
	So, here is my question: what are these two imports used for and
has anything changed when I removed them?
	 
	Also, two namespaces defined in the <definitions> are never used
in the WSDL: "apachesoap" and "intf". I understand that this is OK, but
what may these 2 namespaces be used for?
	 
	Thanks,
	Eugene
	 
	Here is the WSDL file:
	 
	<?xml version="1.0" encoding="UTF-8"?>
	<wsdl:definitions
targetNamespace="http://localhost:9090/axis/services/ent"
	 xmlns:apachesoap="http://xml.apache.org/xml-soap"
	 xmlns:impl="http://localhost:9090/axis/services/ent"
	 xmlns:intf="http://localhost:9090/axis/services/ent"
	 xmlns:tns1="http://enterprise.ent"
	 xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	 xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
	 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<!--WSDL created by Apache Axis version: 1.2RC2
	Built on Jan 25, 2005 (06:12:35 PST)-->
	 <wsdl:types>
	  <schema elementFormDefault="qualified"
targetNamespace="http://enterprise.ent"
xmlns="http://www.w3.org/2001/XMLSchema">
	   <import namespace="http://localhost:9090/axis/services/ent"/>
	   <element name="login">
	    <complexType>
	     <sequence>
	      <element maxOccurs="unbounded" name="credentials"
type="xsd:string"/>
	      <element name="locale" type="xsd:string"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="loginResponse">
	    <complexType>
	     <sequence>
	      <element name="loginReturn" type="xsd:string"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="logout">
	    <complexType>
	     <sequence>
	      <element name="sid" type="xsd:string"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="logoutResponse">
	    <complexType/>
	   </element>
	   <element name="clear">
	    <complexType>
	     <sequence>
	      <element name="sid" type="xsd:string"/>
	      <element name="uri" type="xsd:string"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="clearResponse">
	    <complexType/>
	   </element>
	   <element name="load">
	    <complexType>
	     <sequence>
	      <element name="sid" type="xsd:string"/>
	      <element name="uri" type="xsd:string"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="loadResponse">
	    <complexType>
	     <sequence>
	      <element name="loadReturn" type="tns1:EntDocument"/>
	     </sequence>
	    </complexType>
	   </element>
	   <complexType name="EntDocument">
	    <sequence>
	     <element name="URI" nillable="true" type="xsd:string"/>
	     <element name="name" nillable="true" type="xsd:string"/>
	     <element name="size" type="xsd:long"/>
	    </sequence>
	   </complexType>
	   <element name="write">
	    <complexType>
	     <sequence>
	      <element name="sid" type="xsd:string"/>
	      <element name="uri" type="xsd:string"/>
	      <element name="data" type="xsd:base64Binary"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="writeResponse">
	    <complexType/>
	   </element>
	   <element name="list">
	    <complexType>
	     <sequence>
	      <element name="sid" type="xsd:string"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="listResponse">
	    <complexType>
	     <sequence>
	      <element name="listReturn"
type="impl:ArrayOf_xsd_anyType"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="delete">
	    <complexType>
	     <sequence>
	      <element name="sid" type="xsd:string"/>
	      <element name="uri" type="xsd:string"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="deleteResponse">
	    <complexType/>
	   </element>
	   <element name="read">
	    <complexType>
	     <sequence>
	      <element name="sid" type="xsd:string"/>
	      <element name="uri" type="xsd:string"/>
	      <element name="offset" type="xsd:long"/>
	      <element name="length" type="xsd:int"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="readResponse">
	    <complexType>
	     <sequence>
	      <element name="readReturn" type="xsd:base64Binary"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="create">
	    <complexType>
	     <sequence>
	      <element name="sid" type="xsd:string"/>
	      <element name="name" type="xsd:string"/>
	     </sequence>
	    </complexType>
	   </element>
	   <element name="createResponse">
	    <complexType>
	     <sequence>
	      <element name="createReturn" type="xsd:string"/>
	     </sequence>
	    </complexType>
	   </element>
	  </schema>
	  <schema elementFormDefault="qualified"
targetNamespace="http://localhost:9090/axis/services/ent"
xmlns="http://www.w3.org/2001/XMLSchema">
	   <import namespace="http://enterprise.ent"/>
	   <complexType name="ArrayOf_xsd_anyType">
	    <sequence>
	     <element maxOccurs="unbounded" minOccurs="0" name="item"
type="xsd:anyType"/>
	    </sequence>
	   </complexType>
	  </schema>
	 </wsdl:types>
	   <wsdl:message name="logoutResponse">
	      <wsdl:part element="tns1:logoutResponse"
name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="createRequest">
	      <wsdl:part element="tns1:create" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="clearRequest">
	      <wsdl:part element="tns1:clear" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="clearResponse">
	      <wsdl:part element="tns1:clearResponse"
name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="readRequest">
	      <wsdl:part element="tns1:read" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="deleteResponse">
	      <wsdl:part element="tns1:deleteResponse"
name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="logoutRequest">
	      <wsdl:part element="tns1:logout" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="loginResponse">
	      <wsdl:part element="tns1:loginResponse"
name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="writeRequest">
	      <wsdl:part element="tns1:write" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="readResponse">
	      <wsdl:part element="tns1:readResponse" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="loadRequest">
	      <wsdl:part element="tns1:load" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="deleteRequest">
	      <wsdl:part element="tns1:delete" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="writeResponse">
	      <wsdl:part element="tns1:writeResponse"
name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="listRequest">
	      <wsdl:part element="tns1:list" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="listResponse">
	      <wsdl:part element="tns1:listResponse" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="loadResponse">
	      <wsdl:part element="tns1:loadResponse" name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="createResponse">
	      <wsdl:part element="tns1:createResponse"
name="parameters"/>
	   </wsdl:message>
	   <wsdl:message name="loginRequest">
	      <wsdl:part element="tns1:login" name="parameters"/>
	   </wsdl:message>
	   <wsdl:portType name="EntAPI">
	      <wsdl:operation name="login">
	         <wsdl:input message="impl:loginRequest"
name="loginRequest"/>
	         <wsdl:output message="impl:loginResponse"
name="loginResponse"/>
	      </wsdl:operation>
	      <wsdl:operation name="logout">
	         <wsdl:input message="impl:logoutRequest"
name="logoutRequest"/>
	         <wsdl:output message="impl:logoutResponse"
name="logoutResponse"/>
	      </wsdl:operation>
	      <wsdl:operation name="clear">
	         <wsdl:input message="impl:clearRequest"
name="clearRequest"/>
	         <wsdl:output message="impl:clearResponse"
name="clearResponse"/>
	      </wsdl:operation>
	      <wsdl:operation name="load">
	         <wsdl:input message="impl:loadRequest"
name="loadRequest"/>
	         <wsdl:output message="impl:loadResponse"
name="loadResponse"/>
	      </wsdl:operation>
	      <wsdl:operation name="write">
	         <wsdl:input message="impl:writeRequest"
name="writeRequest"/>
	         <wsdl:output message="impl:writeResponse"
name="writeResponse"/>
	      </wsdl:operation>
	      <wsdl:operation name="list">
	         <wsdl:input message="impl:listRequest"
name="listRequest"/>
	         <wsdl:output message="impl:listResponse"
name="listResponse"/>
	      </wsdl:operation>
	      <wsdl:operation name="delete">
	         <wsdl:input message="impl:deleteRequest"
name="deleteRequest"/>
	         <wsdl:output message="impl:deleteResponse"
name="deleteResponse"/>
	      </wsdl:operation>
	      <wsdl:operation name="read">
	         <wsdl:input message="impl:readRequest"
name="readRequest"/>
	         <wsdl:output message="impl:readResponse"
name="readResponse"/>
	      </wsdl:operation>
	      <wsdl:operation name="create">
	         <wsdl:input message="impl:createRequest"
name="createRequest"/>
	         <wsdl:output message="impl:createResponse"
name="createResponse"/>
	      </wsdl:operation>
	   </wsdl:portType>
	   <wsdl:binding name="entSoapBinding" type="impl:EntAPI">
	      <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
	      <wsdl:operation name="login">
	         <wsdlsoap:operation soapAction=""/>
	         <wsdl:input name="loginRequest">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:input>
	         <wsdl:output name="loginResponse">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:output>
	      </wsdl:operation>
	      <wsdl:operation name="logout">
	         <wsdlsoap:operation soapAction=""/>
	         <wsdl:input name="logoutRequest">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:input>
	         <wsdl:output name="logoutResponse">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:output>
	      </wsdl:operation>
	      <wsdl:operation name="clear">
	         <wsdlsoap:operation soapAction=""/>
	         <wsdl:input name="clearRequest">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:input>
	         <wsdl:output name="clearResponse">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:output>
	      </wsdl:operation>
	      <wsdl:operation name="load">
	         <wsdlsoap:operation soapAction=""/>
	         <wsdl:input name="loadRequest">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:input>
	         <wsdl:output name="loadResponse">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:output>
	      </wsdl:operation>
	      <wsdl:operation name="write">
	         <wsdlsoap:operation soapAction=""/>
	         <wsdl:input name="writeRequest">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:input>
	         <wsdl:output name="writeResponse">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:output>
	      </wsdl:operation>
	      <wsdl:operation name="list">
	         <wsdlsoap:operation soapAction=""/>
	         <wsdl:input name="listRequest">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:input>
	         <wsdl:output name="listResponse">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:output>
	      </wsdl:operation>
	      <wsdl:operation name="delete">
	         <wsdlsoap:operation soapAction=""/>
	         <wsdl:input name="deleteRequest">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:input>
	         <wsdl:output name="deleteResponse">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:output>
	      </wsdl:operation>
	      <wsdl:operation name="read">
	         <wsdlsoap:operation soapAction=""/>
	         <wsdl:input name="readRequest">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:input>
	         <wsdl:output name="readResponse">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:output>
	      </wsdl:operation>
	      <wsdl:operation name="create">
	         <wsdlsoap:operation soapAction=""/>
	         <wsdl:input name="createRequest">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:input>
	         <wsdl:output name="createResponse">
	            <wsdlsoap:body use="literal"/>
	         </wsdl:output>
	      </wsdl:operation>
	   </wsdl:binding>
	   <wsdl:service name="EntAPIService">
	      <wsdl:port binding="impl:entSoapBinding" name="ent">
	         <wsdlsoap:address
location="http://localhost:9090/axis/services/ent"/>
	      </wsdl:port>
	   </wsdl:service>
	</wsdl:definitions>
	


Mime
View raw message