You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Eugene Shershnev <sh...@gmail.com> on 2005/01/31 19:36:12 UTC
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 and 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>