Hi Eran,

I'm trying to make a soap call using wsdl.

1. Axis2 version client:

Usу stubmaker:
sh> stubmaker.pl 'http://localhost/axis2/services/version?wsdl'

or dynamically:
versionclient.pl
------------------------
use SOAP::Lite;
use Data::Dumper;
my $result = SOAP::Lite ->
service('http://localhost/axis2/services/version?wsdl') ->
getVersion();
print Dumper($result);
------------------------

In both cases my script failed with error "Can't call method "element"
on an undefined value at /usr/local/share/perl/5.8.8/SOAP/Lite.pm line
2845."

2. Test echo service
I've build simple echo service, package it into aar and deploy to axis2.
Service wsdl
------------------------------------------------------------------------------------------
<wsdl:definitions xmlns:axis2="http://ws.apache.org/axis2";
        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
        xmlns:ns0="http://test.axis2.ws.apache.org/xsd";
        xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
        xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
        xmlns:ns1="http://org.apache.axis2/xsd";
        xmlns:xs="http://www.w3.org/2001/XMLSchema";
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
        targetNamespace="http://ws.apache.org/axis2";>
        <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
                Test Echo service
        </wsdl:documentation>
        <wsdl:types xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
                <xs:schema xmlns:stn_2="http://test.axis2.ws.apache.org/xsd";
                        xmlns:axis2="http://ws.apache.org/axis2";
                        xmlns:xs="http://www.w3.org/2001/XMLSchema";
                        xmlns:ns0="http://test.axis2.ws.apache.org/xsd";
                        xmlns:ns1="http://org.apache.axis2/xsd";
                        attributeFormDefault="qualified" 
elementFormDefault="qualified"
                        targetNamespace="http://test.axis2.ws.apache.org/xsd";>
                        <xs:element name="echo">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="string" 
type="xs:string" />
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="echoResponse">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="return" 
type="xs:string" />
                                        </xs:sequence>
                                </xs:complexType>

                        </xs:element>
                </xs:schema>
        </wsdl:types>
        <wsdl:message xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                name="echoMessage">
                <wsdl:part xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                        name="part1" element="ns0:echo" />
        </wsdl:message>
        <wsdl:message xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                name="echoResponse">
                <wsdl:part xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                        name="part1" element="ns0:echoResponse" />
        </wsdl:message>
        <wsdl:portType xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                name="EchoPortType">
                <wsdl:operation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                        name="echo">
                        <wsdl:input
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                                message="axis2:echoMessage" wsaw:Action="urn:echo" 
/>
                        <wsdl:output 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                                message="axis2:echoResponse" />
                </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                name="EchoSOAP11Binding" type="axis2:EchoPortType">
                <soap:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
                        transport="http://schemas.xmlsoap.org/soap/http"; 
style="document" />
                <wsdl:operation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                        name="echo">
                        <soap:operation
                                
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
                                soapAction="urn:echo" style="document" />
                        <wsdl:input 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
                                <soap:body
                                        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
use="literal" />
                        </wsdl:input>
                        <wsdl:output
                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
                                <soap:body
                                        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
use="literal" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:binding xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                name="EchoSOAP12Binding" type="axis2:EchoPortType">
                <soap12:binding
                        xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
                        transport="http://schemas.xmlsoap.org/soap/http"; 
style="document" />
                <wsdl:operation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                        name="echo">
                        <soap12:operation
                                
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
                                soapAction="urn:echo" style="document" />
                        <wsdl:input 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
                                <soap12:body
                                        
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
                                        use="literal" />
                        </wsdl:input>
                        <wsdl:output
                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
                                <soap12:body
                                        
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
                                        use="literal" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:binding xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                name="EchoHttpBinding" type="axis2:EchoPortType">
                <http:binding xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
                        verb="POST" />
                <wsdl:operation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                        name="echo">
                        <http:operation
                                xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
location="echo" />
                        <wsdl:input 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
                                <mime:content
                                        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
type="text/xml" />
                        </wsdl:input>
                        <wsdl:output
                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
                                <mime:content
                                        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
type="text/xml" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:service xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                name="Echo">
                <wsdl:port xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                        name="EchoSOAP11port_http" 
binding="axis2:EchoSOAP11Binding">
                        <soap:address
                                
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
                                
location="http://aleksey.clickajob.dev.voltweb.com:8080/axis2/services/Echo";
/>
                </wsdl:port>
                <wsdl:port xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                        name="EchoSOAP12port_http" 
binding="axis2:EchoSOAP12Binding">
                        <soap12:address
                                
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
                                
location="http://aleksey.clickajob.dev.voltweb.com:8080/axis2/services/Echo";
/>
                </wsdl:port>
                <wsdl:port xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                        name="EchoHttpport0" binding="axis2:EchoHttpBinding">
                        <http:address
                                
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
                                location="http://localhost/axis2/rest/Echo"; />
                </wsdl:port>
        </wsdl:service>
</wsdl:definitions>
------------------------------------------------------------------------------------------

Perl client:
------------------------------------------------------------------------------------------
#!/usr/bin/perl -w

use strict;
use Data::Dumper;
use SOAP::Lite +trace => [qw (transport dispatch result parameters
headers objects method fault freeform trace debug)];

my $result = SOAP::Lite
       -> service('http://localhost/axis2/services/Echo?wsdl')
       -> echo("Hello!");

print Data::Dumper::Dumper($result);
------------------------------------------------------------------------------------------

Error: "Only SOAP 1.1 or SOAP 1.2 messages are supported in the system"

SOAP request:
------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:axis2="http://ws.apache.org/axis2";
        xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
        xmlns:ns1="http://org.apache.axis2/xsd";
        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
        soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
        xmlns:ns0="http://test.axis2.ws.apache.org/xsd";
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
        xmlns:xs="http://www.w3.org/2001/XMLSchema";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
        xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";>
        <soap:Body>
                <axis2:echo>
                        <string xsi:type="xs:string">Hello!</string>
                </axis2:echo>
        </soap:Body>
</soap:Envelope>
------------------------------------------------------------------------------------------

SOAP response:
------------------------------------------------------------------------------------------
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing";
        xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
        <soapenv:Header>
                <wsa:ReplyTo>
                        <wsa:Address>
                                http://www.w3.org/2005/08/addressing/anonymous
                        </wsa:Address>
                </wsa:ReplyTo>
                <wsa:MessageID>
                        urn:uuid:498FF37873E95AF32411561510436321
                </wsa:MessageID>
                <wsa:Action>
                        http://www.w3.org/2005/08/addressing/fault
                </wsa:Action>
        </soapenv:Header>
        <soapenv:Body>
                <soapenv:Fault>
                        <faultcode></faultcode>
                        <faultstring>
                                Only SOAP 1.1 or SOAP 1.2 messages are 
supported in the
                                system
                        </faultstring>
                        <detail>
                                <Exception>
                                        org.apache.axis2.AxisFault: Only SOAP 
1.1 or SOAP
                                        1.2 messages are supported in the 
system; nested
                                        exception is:
                                        
org.apache.axiom.soap.SOAPProcessingException: Only
                                        SOAP 1.1 or SOAP 1.2 messages are 
supported in the
                                        system at
                                        
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:286)
                                        at
                                        
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:145)
                                        at
                                        
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
                                        at
                                        
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
                                        at
                                        
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                                        at
                                        
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                                        at
                                        
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
                                        at
                                        
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
                                        at
                                        
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
                                        at
                                        
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
                                        at
                                        
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
                                        at
                                        
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
                                        at
                                        
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
                                        at
                                        
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
                                        at
                                        
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
                                        at
                                        
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
                                        at
                                        
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
                                        at 
java.lang.Thread.run(Thread.java:595) Caused by:
                                        
org.apache.axiom.soap.SOAPProcessingException: Only
                                        SOAP 1.1 or SOAP 1.2 messages are 
supported in the
                                        system at
                                        
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:227)
                                        at
                                        
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:171)
                                        at
                                        
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:132)
                                        at
                                        
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:155)
                                        at
                                        
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.identifySOAPVersion(StAXSOAPModelBuilder.java:131)
                                        at
                                        
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.&lt;init>(StAXSOAPModelBuilder.java:106)
                                        at
                                        
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:237)
                                        ... 17 more
                                </Exception>
                        </detail>
                </soapenv:Fault>
        </soapenv:Body>
</soapenv:Envelope>
------------------------------------------------------------------------------------------


Any help is greatly appreciated.

Aleksey

On 8/18/06, Eran Chinthaka <[EMAIL PROTECTED]> wrote:
Hi Aleksey,

I think the SOAP namespace is not defined in your request message. Can
you paste your SOAP request here?

-- Chinthaka

Aleksey Serba wrote:
> Hi!
>
> I've build simple service and deploy it to Apache Axis2 as aar archive
> ( messageReceiver is RPCMessageReceiver )
>
> I can't make a SOAP call using perl SOAP::Lite.
> I've turn on debugging on SOAP::Lite and found Axis2 exception
> org.apache.axiom.soap.SOAPProcessingException: Only SOAP 1.1 or SOAP
> 1.2 messages are supported in the system.
>
> SOAP::Lite 0.68 version
> Axis2 1.0 release and latest nightly build
>
> Is there any way to get it work together or it's totally incompatible?
>
> Thanks in advance
>
> Aleksey
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>





Reply via email to