Loading ...
Sorry, an error occurred while loading the content.

Problem implementing web service

Expand Messages
  • Vlad
    Hello everyone, I ve encountered the following problem while implementing Web Service server side using Soap::Lite (Perl). I receive the following error
    Message 1 of 1 , Mar 12, 2009
    • 0 Attachment
      Hello everyone,
       
      I've encountered the following problem while implementing Web Service server side using Soap::Lite (Perl).
      I receive the following error message:
      "SOAPAction shall match 'uri#method' if present (got 'SushiService:GetReport', expected 'http://www.niso.org/schemas/sushi/counter#ReportRequest'"
      What is the reason of this error?
       
      My WSDL is:
       
      <definitions xmlns:tns="SushiService"
                   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                   xmlns:sc="http://www.niso.org/schemas/sushi/counter"
                   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   name="SushiService"
                   targetNamespace="SushiService"
                   xmlns="http://schemas.xmlsoap.org/wsdl/">
         <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
         <types>
            <xsd:schema>
               <xsd:import schemaLocation="http://www.niso.org/schemas/sushi/counter_sushi3_0.xsd" namespace="http://www.niso.org/schemas/sushi/counter"/>
            </xsd:schema>
         </types>
         <message name="GetReportIn">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
            <part name="messagePart" element="sc:ReportRequest"/>
         </message>
         <message name="GetReportOut">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
            <part name="messagePart" element="sc:ReportResponse"/>
         </message>
         <portType name="SushiServiceInterface">
            <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
            <operation name="GetReport">
               <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
               <input message="tns:GetReportIn"/>
               <output message="tns:GetReportOut"/>
            </operation>
         </portType>
         <binding name="SushiService" type="tns:SushiServiceInterface">
            <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
            <operation name="GetReport">
               <soap:operation soapAction="SushiService:GetReportIn" style="document"/>
               <input>
                  <soap:body use="literal"/>
               </input>
               <output>
                  <soap:body use="literal"/>
               </output>
            </operation>
         </binding>
         <service name="SushiService">
            <port name="SushiServicePort"
                  binding="tns:SushiService">
               <soap:address location="http://dl/SushiService"/>
            </port>
         </service>
      </definitions>
       
      My server side code is very small:
       
          #!/usr/bin/perl
          use strict;
       
          use SOAP::Transport::HTTP;
       
          my $server = SOAP::Transport::HTTP::CGI
           ->dispatch_to("SushiService")
           ->handle;
       
          package SushiService;
          sub GetReport {
              my $xml_response;
              ....
              return $xml_response;
          }
       
          1;
       
      Could you please help me to resolve this problem?
       
      Best regards,
      Vlad

      --
      This message has been scanned for viruses and
      dangerous content by MailScanner, and is
      believed to be clean.
    Your message has been successfully submitted and would be delivered to recipients shortly.