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> > >