Win a copy of The Journey To Enterprise Agility this week in the Agile and Other Processes forum! And see the welcome thread for 20% off.
  • 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 all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
Sheriffs:
  • Paul Clapham
  • Junilu Lacar
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Ganesh Patekar
  • Tim Moores
  • Pete Letkeman
  • Stephan van Hulst
Bartenders:
  • Carey Brown
  • Tim Holloway
  • Joe Ess

deploying error on messagerouter  RSS feed

 
Ranch Hand
Posts: 104
  • Mark post as helpful
  • send pies
  • 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
Rancher
Posts: 13078
6
  • Mark post as helpful
  • send pies
  • 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
  • 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
Rancher
Posts: 13078
6
  • Mark post as helpful
  • send pies
  • 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
  • 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
Rancher
Posts: 13078
6
  • Mark post as helpful
  • send pies
  • 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
Rancher
Posts: 13078
6
  • Mark post as helpful
  • send pies
  • 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
  • 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
Rancher
Posts: 13078
6
  • Mark post as helpful
  • send pies
  • 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.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!