Hi, I've writed my WSDL from scratch, validated against WS-I Basic Profile and generated my Axis server classes. I've successfully written a client using VB.NET, VBA (as a Word macro) and other Axis client. Unfortunatly my SOAP:Lite client doesn't work.
Maybe is it my WSDL wrong? It is responding to an endpoint that has nothing to do with the namespace indicated (http://ivenuti.altervista.org is only my personal home page and doesn't support java and doesn't cointain the indicated xsd!) This could be a problem for the validity of the WSDL? Here is my WSDL: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="ProductsExampleWS" targetNamespace="http://ivenuti.altervista.org/ProductsExampleWS.wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ivenuti.altervista.org/ProductsExampleWS.wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://ivenuti.altervista.org/ProductsExampleWS.xsd1"> <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> Created using Cape Clear Studio SOA Editor - http://www.capeclear.com </wsdl:documentation> <wsdl:types> <xsd:schema targetNamespace="http://ivenuti.altervista.org/ProductsExampleWS.xsd1" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://ivenuti.altervista.org/ProductsExampleWS.xsd1"> <xsd:complexType name="Product"> <xsd:annotation> <xsd:documentation> Rappresents each product available for each order </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="id" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="1" name="description" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="1" name="price" type="xsd:double"/> <xsd:element maxOccurs="1" minOccurs="1" name="currency" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="1" name="available" type="xsd:boolean"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ArrayOfProduct"> <xsd:annotation> <xsd:documentation> An array of products </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="1" name="item" type="xsd1:Product"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ArrayOfProductInOrder"> <xsd:annotation> <xsd:documentation> An array of Products in order </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="1" name="item" type="xsd1:ProductInOrder"/> </xsd:sequence> </xsd:complexType> <xsd:element name="ElementArrayOfProduct" type="xsd1:ArrayOfProduct"> <xsd:annotation> <xsd:documentation> An element of type ArrayOfProduct </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ElementDate" type="xsd:date"> <xsd:annotation> <xsd:documentation> A date </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ElementArrayOfProductInOrder" type="xsd1:ArrayOfProductInOrder"> <xsd:annotation> <xsd:documentation> An element of products used in orders </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="OrderWithConfirmation"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="order" type="xsd1:ArrayOfProductInOrder"/> <xsd:element maxOccurs="1" minOccurs="1" name="magic" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="ElementOrderWithConfirmation" type="xsd1:OrderWithConfirmation"> <xsd:annotation> <xsd:documentation> An element for an order to be confirmed </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ElementMagic" type="xsd:string"> <xsd:annotation> <xsd:documentation> String needed for the confirmation of an order </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ElementDone" type="xsd:boolean"> <xsd:annotation> <xsd:documentation> Indicates id the operation is really done </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="ProductInOrder"> <xsd:annotation> <xsd:documentation> Rappresents only the identification and the amount of the product ordered </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="id" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="1" name="quantity" type="xsd:nonNegativeInteger"/> </xsd:sequence> </xsd:complexType> </xsd:schema> </wsdl:types> <wsdl:message name="productsOrderResponse"> <wsdl:part element="xsd1:ElementOrderWithConfirmation" name="availableProductAndMagic"/> </wsdl:message> <wsdl:message name="productsListResponse"> <wsdl:part element="xsd1:ElementArrayOfProduct" name="products"/> </wsdl:message> <wsdl:message name="productsOrderRequest"> <wsdl:part element="xsd1:ElementArrayOfProductInOrder" name="wantedProducts"/> </wsdl:message> <wsdl:message name="productsListRequest"> <wsdl:part element="xsd1:ElementDate" name="lastUpdateDate"/> </wsdl:message> <wsdl:message name="productsOrderConfirmationRequest"> <wsdl:part element="xsd1:ElementMagic" name="magic"/> </wsdl:message> <wsdl:message name="productsOrderConfirmationResponse"> <wsdl:part element="xsd1:ElementDone" name="done"/> </wsdl:message> <wsdl:portType name="ProductsExampleWSPortType"> <wsdl:operation name="productsList"> <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> Retrieve alla the products available for ordering </wsdl:documentation> <wsdl:input message="tns:productsListRequest"/> <wsdl:output message="tns:productsListResponse"/> </wsdl:operation> <wsdl:operation name="productsOrder"> <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> Makes a request of an order and receive the response of the available products and a string for confirming the order </wsdl:documentation> <wsdl:input message="tns:productsOrderRequest"/> <wsdl:output message="tns:productsOrderResponse"/> </wsdl:operation> <wsdl:operation name="productsOrderConfirmation"> <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> Confirms a previus order </wsdl:documentation> <wsdl:input message="tns:productsOrderConfirmationRequest"/> <wsdl:output message="tns:productsOrderConfirmationResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="ProductsExampleWSBinding" type="tns:ProductsExampleWSPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="productsList"> <soap:operation soapAction="capeconnect:ProductsExampleWS:ProductsExampleWSPortType#products List"/> <wsdl:input> <soap:body parts="lastUpdateDate" use="literal"/> </wsdl:input> <wsdl:output> <soap:body parts="products" use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="productsOrder"> <soap:operation soapAction="capeconnect:ProductsExampleWS:ProductsExampleWSPortType#products Order"/> <wsdl:input> <soap:body parts="wantedProducts" use="literal"/> </wsdl:input> <wsdl:output> <soap:body parts="availableProductAndMagic" use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="productsOrderConfirmation"> <soap:operation soapAction="capeconnect:ProductsExampleWS:ProductsExampleWSPortType#products OrderConfirmation"/> <wsdl:input> <soap:body parts="magic" use="literal"/> </wsdl:input> <wsdl:output> <soap:body parts="done" use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="ProductsExampleWS"> <wsdl:port binding="tns:ProductsExampleWSBinding" name="ProductsExampleWSPort"> <soap:address location="http://www.caribel.it:8080/axis/services/ProductsExampleWSPort"/> </wsdl:port> </wsdl:service> </wsdl:definitions> -- Ivan
