cancel
Showing results for 
Search instead for 
Did you mean: 

Error with webservice in XML spy

Former Member
0 Kudos

Hey guys

i m importing a webservice for a sample SOAP scenario from /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1 (its the same webservice used by shabarish in his blog).

when i open this webservice in Altova XML spy it gives me an error sayin that

<wsdlsoap:operation> has empty or missing soapAction attribute.

my WSDL file is

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:intf="http://webservices.imacination.com/distance/Distance.jws" xmlns:impl="http://webservices.imacination.com/distance/Distance.jws" targetNamespace="http://webservices.imacination.com/distance/Distance.jws">

<wsdl:message name="getLongitudeResponse">

<wsdl:part name="getLongitudeReturn" type="xsd:double"/>

</wsdl:message>

<wsdl:message name="getLongitudeRequest">

<wsdl:part name="zip" type="xsd:string"/>

</wsdl:message>

<wsdl:message name="getLatitudeRequest">

<wsdl:part name="zip" type="xsd:string"/>

</wsdl:message>

<wsdl:message name="getLatitudeResponse">

<wsdl:part name="getLatitudeReturn" type="xsd:double"/>

</wsdl:message>

<wsdl:message name="getCityResponse">

<wsdl:part name="getCityReturn" type="xsd:string"/>

</wsdl:message>

<wsdl:message name="getCityRequest">

<wsdl:part name="zip" type="xsd:string"/>

</wsdl:message>

<wsdl:message name="getLocationResponse">

<wsdl:part name="getLocationReturn" type="xsd:string"/>

</wsdl:message>

<wsdl:message name="getStateResponse">

<wsdl:part name="getStateReturn" type="xsd:string"/>

</wsdl:message>

<wsdl:message name="getStateRequest">

<wsdl:part name="zip" type="xsd:string"/>

</wsdl:message>

<wsdl:message name="getLocationRequest">

<wsdl:part name="zip" type="xsd:string"/>

</wsdl:message>

<wsdl:message name="getDistanceResponse">

<wsdl:part name="getDistanceReturn" type="xsd:double"/>

</wsdl:message>

<wsdl:message name="getDistanceRequest">

<wsdl:part name="fromZip" type="xsd:string"/>

<wsdl:part name="toZip" type="xsd:string"/>

</wsdl:message>

<wsdl:portType name="Distance">

<wsdl:operation name="getState" parameterOrder="zip">

<wsdl:input name="getStateRequest" message="intf:getStateRequest"/>

<wsdl:output name="getStateResponse" message="intf:getStateResponse"/>

</wsdl:operation>

<wsdl:operation name="getLocation" parameterOrder="zip">

<wsdl:input name="getLocationRequest" message="intf:getLocationRequest"/>

<wsdl:output name="getLocationResponse" message="intf:getLocationResponse"/>

</wsdl:operation>

<wsdl:operation name="getCity" parameterOrder="zip">

<wsdl:input name="getCityRequest" message="intf:getCityRequest"/>

<wsdl:output name="getCityResponse" message="intf:getCityResponse"/>

</wsdl:operation>

<wsdl:operation name="getDistance" parameterOrder="fromZip toZip">

<wsdl:input name="getDistanceRequest" message="intf:getDistanceRequest"/>

<wsdl:output name="getDistanceResponse" message="intf:getDistanceResponse"/>

</wsdl:operation>

<wsdl:operation name="getLatitude" parameterOrder="zip">

<wsdl:input name="getLatitudeRequest" message="intf:getLatitudeRequest"/>

<wsdl:output name="getLatitudeResponse" message="intf:getLatitudeResponse"/>

</wsdl:operation>

<wsdl:operation name="getLongitude" parameterOrder="zip">

<wsdl:input name="getLongitudeRequest" message="intf:getLongitudeRequest"/>

<wsdl:output name="getLongitudeResponse" message="intf:getLongitudeResponse"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="DistanceSoapBinding" type="impl:Distance">

<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="getState">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getStateRequest">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace"/>

</wsdl:input>

<wsdl:output name="getStateResponse">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices.imacination.com/distance/Distance.jws"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getLocation">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getLocationRequest">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace"/>

</wsdl:input>

<wsdl:output name="getLocationResponse">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices.imacination.com/distance/Distance.jws"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getCity">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getCityRequest">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace"/>

</wsdl:input>

<wsdl:output name="getCityResponse">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices.imacination.com/distance/Distance.jws"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getDistance">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getDistanceRequest">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace"/>

</wsdl:input>

<wsdl:output name="getDistanceResponse">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices.imacination.com/distance/Distance.jws"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getLatitude">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getLatitudeRequest">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace"/>

</wsdl:input>

<wsdl:output name="getLatitudeResponse">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices.imacination.com/distance/Distance.jws"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getLongitude">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="getLongitudeRequest">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace"/>

</wsdl:input>

<wsdl:output name="getLongitudeResponse">

<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices.imacination.com/distance/Distance.jws"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="DistanceService">

<wsdl:port name="Distance" binding="impl:DistanceSoapBinding">

<wsdlsoap:address location="http://webservices.imacination.com/distance/Distance.jws"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

i can see that the soapAction attribute is missing but what do i need to put for that or will this WSDL work for my scenario?

thanx

ahmad

Accepted Solutions (0)

Answers (2)

Answers (2)

stefan_grube
Active Contributor
0 Kudos

Even when I have this error message in Altova XMLSpy I do not have any problems to send a SOAP request from menu: SOAP -> Create SOAP request using this WSDL.

If it does not work for you, you can implement the weblog scenario as well, as XMLSpy is not required.

Regards

Stefan