aspose file tools*
The moose likes Web Services and the fly likes deploying error on messagerouter Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "deploying error on messagerouter" Watch "deploying error on messagerouter" New topic
Author

deploying error on messagerouter

Roy Huang
Ranch Hand

Joined: Nov 21, 2001
Posts: 104
I tried to implement a soap message service through the messagerouter, in the message body I transfer a XML file to the soap server, since I don't want to parse the xml tags at all.
I have written a soap server site java code and save the class in the tomcat server 's lib directory.
for deploying I use:
java org.apache.soap.server.ServiceManagerClient http://hostname.port/soap/servlet/messagerouter deploy DeploymentDescriptor.xml
It shows th error:
SOAP-ENV: server
Exception while handling service request: org.apache.soap.server.ServiceManager.deploy(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext,org.apache.soap.rpc.SOAPContext) -- no signature match
I checked my soap java code, I have already defined the method with these 3 parameters (Envelope, Soapcontext,Soapcontext).
Who has met these problems before? Any suggestions?
Thanks for Ur help.
Roy


SCJP 1.4/SCBCD/SCWCD<br />MCSE<br />IBM professional XML Developer<br />SAP certified Development Consultant (NetWeaver portal and Web JavaApplication)
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12788
    
    5
That sure sounds like your deployment descriptor file didn't match what the servlet found in those classes.
Bill
Roy Huang
Ranch Hand

Joined: Nov 21, 2001
Posts: 104
Bill, thanks,
This is my deplyment.xml file:
<isd:service mlns:isd="http://xml.apache.org/xml-soap/deployment" id="urn:Message" type="message" checkMustUnderstands="false">
<isd rovider type="java"
scope="Request"
methods="savevxml">
<isd:java class="Listvxml" static="false"/>
</isd rovider>
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
</isd:service>

and in the server side My Java class is:
public class Listvxml{
public void savevxml(Envelope env, SOAPContext reqCtx, SOAPContext resCtx)
throws MessagingException, IOException {
............................
............................
resCtx.setRootPart("OK, got the VXMLfile; It's ready.", "text/plain");
}
}
I think the class name and method name are the same as the xml files defines, but still error comes, Could you find the problem ?

Thanks in advance!
Roy
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12788
    
    5
This looks familiar. Try putting your service class in a package. Classes that are not in packages give Tomcat a hard time, it tries to find them in the "current directory" instead of WEB-INF\classes
Bill
Roy Huang
Ranch Hand

Joined: Nov 21, 2001
Posts: 104
Bill, I have tried with the package, but also failed.
If I use the same calss to deploy it to rpcrouter, then it works, but failed at the messagerouter.
What else could be the reason?

Roy
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12788
    
    5
I don't know what to suggest. I actually found the Apache MessageRouterServlet approach to be annoying and clumsy so I used non-servlet approach when writing the message handling examples.
Bill
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12788
    
    5
In re-reading the original post I see you want to just pass a complete XML file without parsing. SOAP will always parse the body of a message, but you could make it an attachment to a SOAP message. That will be a lot more efficient.
Bill
Roy Huang
Ranch Hand

Joined: Nov 21, 2001
Posts: 104
Thanks Bill, for Ur reply.
Does SOAP messageing service also need to be parsed? What I understood is that the SOAP attachment and the soap messaging have the same effect to handle my case -- at least theoretically.
I don't need any parsing, just want to download a xml file from one service to another.
I have seen some example used messaging service, but they deploy it to the RPCrouter and then call the messagerouter from clientside.
But I don't undetstand why we can deploy it to rpc, and call it through message router? I have also tried this way, but also failed.
Anyway, thanks for your suggestion. if I find the error, i will post it.
Have a nice day,
Roy
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12788
    
    5
Does SOAP messageing service also need to be parsed?

The Apache SOAP will always build a DOM from any SOAP message. Any SOAP service will always parse the entire SOAP envelope one way or another.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: deploying error on messagerouter