Hello,
I modified the math service to include another function called
"findtarget"and compiled and deployed the service. However, I get the
following error on
running the service.
AxisFault
faultCode: {http://xml.apache.org/axis/}Client
faultSubcode:
faultString: No such operation 'findtarget'
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:No such operation
'findtarget'
at org.apache.axis.providers.java.RPCProvider.processMessage(
RPCProvider.java:180)
at org.apache.axis.providers.java.JavaProvider.invoke(
JavaProvider.java:319)
at org.apache.axis.strategies.InvocationStrategy.visit(
InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java
:450)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
at org.globus.wsrf.container.ServiceThread.doPost(ServiceThread.java
:664)
at org.globus.wsrf.container.ServiceThread.process(
ServiceThread.java:382)
at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java
:291)
{http://xml.apache.org/axis/}hostname:machine4
No such operation 'findtarget'
at org.apache.axis.message.SOAPFaultBuilder.createFault(
SOAPFaultBuilder.java:221)
at org.apache.axis.message.SOAPFaultBuilder.endElement(
SOAPFaultBuilder.java:128)
at org.apache.axis.encoding.DeserializationContext.endElement(
DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at org.apache.axis.encoding.DeserializationContext.parse(
DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at
org.apache.axis.message.addressing.handler.AddressingHandler.processClientResponse
(AddressingHandler.java:305)
at
org.apache.axis.message.addressing.handler.AddressingHandler.invoke(
AddressingHandler.java:110)
at org.apache.axis.strategies.InvocationStrategy.visit(
InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:190)
at org.apache.axis.client.Call.invokeEngine(Call.java:2727)
at org.apache.axis.client.Call.invoke(Call.java:2710)
at org.apache.axis.client.Call.invoke(Call.java:2386)
at org.apache.axis.client.Call.invoke(Call.java:2309)
at org.apache.axis.client.Call.invoke(Call.java:1766)
at
org.globus.examples.stubs.MathService_instance.bindings.MathPortTypeSOAPBindingStub.findtarget
(MathPortTypeSOAPBindingStub.java:534)
at org.globus.examples.clients.MathService_instance.Client.main(
Client.java:41)
I included the following code snipet in my MathService.java file:
public String findtarget(Findtarget params) throws RemoteException {
value = "machine4.devimsg.com";
return value;
}
I added the following lines to my WSDL:
<xsd:element name="findtarget">
<xsd:complexType/>
</xsd:element>
<xsd:element name="findtargetResponse" type="xsd:string"/>
<message name="FindtargetInputMessage">
<part name="parameters" element="tns:findtarget"/>
</message>
<message name="FindtargetOutputMessage">
<part name="parameters" element="tns:findtargetResponse"/>
</message>
<operation name="findtarget">
<input message="tns:FindtargetInputMessage"/>
<output message="tns:FindtargetOutputMessage"/>
</operation>
I haven't changed anything else except for my client program:
System.out.println("Target: "
+ math.findtarget(new
Findtarget()));
--------------------------------
Now why am I getting the following error? faultString: No such operation
'findtarget'
Can anyone please help?
Thanks,
Baas