Title: Message
Pat:
 
Too bad to hear that. Don't give up.
 
In my case ( Axis + Tomcat 5 ), the soapAction is always "" in WSDL. What I did is come up a very basic Java interface and let Java2WSDL to generate a base WSDL. I then enhance the WSDL. I noticed that the soapAction is "" in the based WSDL created by Java2WSDL.
 
However, the soapAction in your WSDL is not "". Not sure whether that will affect the dispatch process.
 
Feng


From: Patrick Quinn [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 15, 2005 12:11 PM
To: axis-user@ws.apache.org
Subject: RE: No such operation error - malformed WSDL?

Feng
 
no it didn't cure the problem I'm afraid.
 
I've seen posts before about the same problem, but there doesn't seem to be an obvious remedy.
 
If I knew for sure that this is a problem with the WSDL then I would be almost happy knowing that, and I could persevere in trying to cure it - but at the moment I am wondering whether it is Axis itself, or some configuration problem.
 
I have heard that there are problems with Axis and 'doc/lit' style, and that it is better to use 'wrapped', but I am constrained to what our customer wants.
 
At this stage I really don't want to ditch Axis and look for another SOAP engine ... :-/
-----Original Message-----
From: Feng Xie (fxie) [mailto:[EMAIL PROTECTED]
Sent: 15 June 2005 17:03
To: axis-user@ws.apache.org
Subject: RE: No such operation error - malformed WSDL?

Did it fix your problem ?
 
WSDL2java probable doesn't pay attention onto the location line.
 
-Feng


From: Patrick Quinn [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 15, 2005 11:57 AM
To: axis-user@ws.apache.org
Subject: RE: No such operation error - malformed WSDL?

This is the generated deployment file. Maybe it needs a description of the missing operation?
If so, I wonder why the WSDL2Java did not generate this?
 
 
 
 
<deployment
    xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 
  <!-- Services from ProvisioningService WSDL service -->
 
  <service name="ProvisioningTaskRequestPort" provider="java:RPC" style="document" use="literal">
      <parameter name="wsdlTargetNamespace" value="urn:ProvidentProvisioningTNS"/>
      <parameter name="wsdlServiceElement" value="ProvisioningService"/>
      <parameter name="wsdlServicePort" value="ProvisioningTaskRequestPort"/>
      <parameter name="className" value="ProvidentProvisioningTNS.ProvisioningTaskRequestSoap
BindingSkeleton"/>
      <parameter name="wsdlPortType" value="ProvisioningTaskRequestPortType"/>
      <parameter name="allowedMethods" value="*"/>

      <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>
 
-----Original Message-----
From: Feng Xie (fxie) [mailto:[EMAIL PROTECTED]
Sent: 15 June 2005 16:22
To: axis-user@ws.apache.org
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 ?
 
 
Feng


From: Patrick Quinn [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 15, 2005 10:37 AM
To: axis-user@ws.apache.org
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
______________________________________________________________________

______________________________________________________________________
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