Title: Message
Hi Feng
 
First of all, thanks for taking the time to reply.
 
I've made the change and regenerated the stub + skeleton, then rerun.
The No Such Operation error is still there.
 
Your suggestion, however, did cure one problem I had noticed, an extraneous closing angled bracket in the deploy.wsdd file.
 
$ diff deploy.wsdd deployModified.wsdd
<         qname="ns:>ProvisioningTaskRequest"
---
>         qname="ns:ProvisioningTaskRequest"
Regards
 
Pat
 
-----Original Message-----
From: Feng Xie (fxie) [mailto:[EMAIL PROTECTED]
Sent: 15 June 2005 16:22
To: [email protected]
Subject: RE: No such operation error - malformed WSDL?

Patrick:
 
Can you replace the location line in your wsdl with the following line and regenerate stub and skeleton ?
 
<soap:address location="http://localhost:8880/axis/services/ProvisioningTaskRequestPort">
 
Feng


From: Patrick Quinn [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 15, 2005 10:37 AM
To: [email protected]
Subject: No such operation error - malformed WSDL?

Hi
 
I have received a WSDL from a customer. The style is document/literal. The stubs/skeleton are generated fine when WSDL2Java is run, but a 'no such operation' error appears when the client code attempts the remote call with the bean.
 
Is there something incorrect in the WSDL that has caused the generated WSDD deployment file to be incomplete?
 
Many thanks for any help that can be provided. Data is below.
 
Regards
 
Patrick Quinn
 
 
error text
 
 
Exception in thread "main" AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode:
 faultString: No such operation &apos;ProvisioningTaskRequest&apos;
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace: AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode:
 faultString: No such operation &amp;apos;ProvisioningTaskRequest&amp;apos;
 faultActor:
 faultNode:
 faultDetail:
 
No such operation 'ProvisioningTaskRequest'
        at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:260)
. . .
        at org.apache.axis.client.Call.invoke(Call.java:1691)
        at ProvidentProvisioningTNS.ProvisioningTaskRequestSoapBindingStub.provisioningTaskRequestOperation(ProvisioningTaskRequestSoapBindingStub.java:140)
        at ProvidentProvisioningTNS.Main2.main(Main2.java:63)

No such operation 'ProvisioningTaskRequest'
        at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:260)
etc.

The WSDL looks like this (I suspect it is based on the example found at www.w3.org/TR/wsdl):
 
 
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns="
http://schemas.xmlsoap.org/wsdl/" xmlns:impl="urn:xml-soapadapter" xmlns:intf="urn:xml-soapadapter" x
mlns:tns="urn:ProvidentProvisioningTNS" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/ws
dl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="urn:ProvidentProvisioningTNS" name="urn:ProvidentProv
isioning">
        <wsdl:types>
                <xsd:schema elementFormDefault="qualified" targetNamespace="urn:ProvidentProvisioningTNS">
                        <xsd:element name="ProvisioningTaskRequest">
                                <xsd:complexType>
                                        <xsd:sequence>
                                                <xsd:element minOccurs="0" maxOccurs="1" name="REQUESTID" type="xsd:string"/>
                                                <xsd:element minOccurs="0" maxOccurs="1" name="SOTYPE" type="xsd:string"/>
                                                <xsd:element minOccurs="0" maxOccurs="1" name="PRIORITY" type="xsd:string"/>
                                                <xsd:element minOccurs="0" maxOccurs="1" name="RECOVERY" type="xsd:string"/>
                                                <xsd:element minOccurs="0" maxOccurs="1" name="XML_SO" type="xsd:string"/>
                                        </xsd:sequence>
                                </xsd:complexType>
                        </xsd:element>
                </xsd:schema>
        </wsdl:types>
        <message name="ProvisioningTaskRequestMessage">
                <part name="body" element="tns:ProvisioningTaskRequest"/>
        </message>
        <message name="ProvisioningTaskAckMessage">
                <part name="body" type="xsd:string"/>
        </message>
        <portType name="ProvisioningTaskRequestPortType">
                <operation name="ProvisioningTaskRequestOperation">
                        <input message="tns:ProvisioningTaskRequestMessage"/>
                        <output message="tns:ProvisioningTaskAckMessage"/>
                </operation>
        </portType>
        <binding name="ProvisioningTaskRequestSoapBinding" type="tns:ProvisioningTaskRequestPortType">
                <soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"/>
                <operation name="ProvisioningTaskRequestOperation">
                        <soap:operation soapAction="ProvidentProvisioningTNS/ProvisioningTaskRequestOperation"/>
                        <input>
                                <soap:body use="literal"/>
                        </input>
                        <output>
                                <soap:body use="literal"/>
                        </output>
                </operation>
        </binding>
        <service name="ProvisioningService">
                <documentation>Provident Provisioning Service</documentation>
                <port name="ProvisioningTaskRequestPort" binding="tns:ProvisioningTaskRequestSoapBinding">
                        <soap:address location="
http://localhost:8880/axis/services/ProvidentProvisioning"/>
                </port>
        </service>
        <!--  message declns -->
        <!--  port type declns FINISHED -->
        <!--  binding declns FINISHED -->
        <!--  service decln  FINISHED  -->
</wsdl:definitions>
 
 

deploy.wsdd file
 
 
  <!-- Services from ProvisioningService WSDL service -->
 
  <service name="ProvisioningTaskRequestPort" provider="java:RPC" style="document" use="literal">
    <requestFlow>
      <handler type="soapmonitor"/>
    </requestFlow>
    <responseFlow>
      <handler type="soapmonitor"/>
    </responseFlow>
      <parameter name="wsdlTargetNamespace" value="urn:ProvidentProvisioningTNS"/>
      <parameter name="wsdlServiceElement" value="ProvisioningService"/>
      <parameter name="wsdlServicePort" value="ProvisioningTaskRequestPort"/>
      <parameter name="className" value="ProvidentProvisioningTNS.ProvisioningTaskRequestSoapBindingSkeleton"
/>
      <parameter name="wsdlPortType" value="ProvisioningTaskRequestPortType"/>
      <parameter name="allowedMethods" value="*"/>
      <parameter name="scope" value="Session"/>
 
      <typeMapping
        xmlns:ns="urn:ProvidentProvisioningTNS"
        qname="ns:>ProvisioningTaskRequest"
        type="java:ProvidentProvisioningTNS._ProvisioningTaskRequest"
        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
        encodingStyle=""
      />
  </service>
</deployment>
 
 

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________

Reply via email to