Apparently the client is sending an element GetCapabilities (with no
namespace) while the service is expecting getCapabilities.
Jeff
----- Original Message ----- 
From: "Richard Holzmeier" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, February 12, 2005 2:06 PM
Subject: doc/literal service & multiple operations fault


> Please help me with the following problem:
>
> I'm trying to invoke a document/literal (unwrapped) service with two
> different operations. As soon as the service class contains more than one
> public method and the service is beeing invoked an exception is thrown. If
> the service class contains only one method everything works fine.
>
> Many thanks, Richard
>
>
>
> Exception:
>
> Exception in thread "main" AxisFault
>  faultCode:
> {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
>  faultSubcode:
>  faultString: Couldn't find an appropriate operation for XML QName
> GetCapabilities
>  faultActor:
>  faultNode:
>  faultDetail:
>
############################################################################
> ##############
>
> deploy.wsdd:
>
> <deployment xmlns="http://xml.apache.org/axis/wsdd/";
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="http://xml.apache.org/axis/wsdd/
> ..\schema\axis\wsdd.xsd">
> <service name="WMAS" style="message">
> <requestFlow>
> <handler type="soapmonitor"/>
> </requestFlow>
> <responseFlow>
> <handler type="soapmonitor"/>
> </responseFlow>
> <parameter name="className"
> value="org.n52.geoprocessing.wmas.WMAS"/>
> <parameter name="allowedMethods" value="getCapabilities
> processMapAlgebra"/>
> <wsdlFile>/service/WMAS.wsdl</wsdlFile>
> </service>
> </deployment>
>
>
############################################################################
> ##############
>
> responsible class:
>
> package org.n52.geoprocessing.wmas;
>
> import org.w3c.dom.Element;
>
> public class WMAS {
>
>     public Element[] getCapabilities(Element [] elems) {
>         return elems;
>     }
>
>     public Element[] processMapAlgebra(Element [] elems) {
>         return elems;
>     }
>
> }
>
############################################################################
> ##############
>
> service description (WMAS.wsdl):
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions
> targetNamespace="http://www.52north.org/ns/mapalgebra/WMAS";
> xmlns:apachesoap="http://xml.apache.org/xml-soap";
> xmlns:wmas="http://www.52north.org/ns/mapalgebra/WMAS";
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> <wsdl:types>
> <schema
> targetNamespace="http://www.52north.org/ns/mapalgebra/WMAS";
> xmlns="http://www.w3.org/2001/XMLSchema";>
> <element name="getCapabilities" type="xsd:anyType"/>
> <element name="getCapabilitiesReturn"
> type="xsd:anyType"/>
> <element name="processMapAlgebra"
> type="xsd:anyType"/>
> <element name="processMapAlgebraReturn"
> type="xsd:anyType"/>
> </schema>
> </wsdl:types>
> <wsdl:message name="getCapabilitiesResponse">
> <wsdl:part element="wmas:getCapabilitiesReturn"
> name="getCapabilitiesReturn"/>
> </wsdl:message>
> <wsdl:message name="getCapabilitiesRequest">
> <wsdl:part element="wmas:getCapabilities"
> name="getCapabilities"/>
> </wsdl:message>
> <wsdl:message name="processMapAlgebraResponse">
> <wsdl:part element="wmas:processMapAlgebraReturn"
> name="getCapabilitiesReturn"/>
> </wsdl:message>
> <wsdl:message name="processMapAlgebraRequest">
> <wsdl:part element="wmas:processMapAlgebra"
> name="processMapAlgebra"/>
> </wsdl:message>
> <wsdl:portType name="WMAS">
> <wsdl:operation name="getCapabilities">
> <wsdl:input message="wmas:getCapabilitiesRequest"
> name="getCapabilitiesRequest"/>
> <wsdl:output message="wmas:getCapabilitiesResponse"
> name="getCapabilitiesResponse"/>
> </wsdl:operation>
> <wsdl:operation name="processMapAlgebra">
> <wsdl:input message="wmas:processMapAlgebraRequest"
> name="processMapAlgebraRequest"/>
> <wsdl:output
> message="wmas:processMapAlgebraResponse"
name="processMapAlgebraResponse"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="WMASSoapBinding" type="wmas:WMAS">
> <wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="getCapabilities">
> <wsdlsoap:operation soapAction=""/>
> <wsdl:input name="getCapabilitiesRequest">
> <wsdlsoap:body use="literal"/>
> </wsdl:input>
> <wsdl:output name="getCapabilitiesResponse">
> <wsdlsoap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="processMapAlgebra">
> <wsdlsoap:operation soapAction=""/>
> <wsdl:input name="processMapAlgebraRequest">
> <wsdlsoap:body use="literal"/>
> </wsdl:input>
> <wsdl:output name="processMapAlgebraResponse">
> <wsdlsoap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="WMASService">
> <wsdl:port binding="wmas:WMASSoapBinding" name="WMAS">
> <wsdlsoap:address
> location="http://localhost:8080/axis/services/WMAS"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>
>

Reply via email to