• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

deploying error on messagerouter

 
Ranch Hand
Posts: 104
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Author and all-around good cowpoke
Posts: 13078
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That sure sounds like your deployment descriptor file didn't match what the servlet found in those classes.
Bill
 
Roy Huang
Ranch Hand
Posts: 104
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 13078
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 104
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 13078
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 13078
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 104
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 13078
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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.
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic