You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Alexander L." <fd...@applied.demonics.org> on 2002/06/27 01:39:26 UTC

document-style service

Hi,

This is a question for people experienced in document-style web services.  
MessageService sample service works, but any attempt I make at a message 
service fails to work.  Any hints as to what I am neglecting to do??



Here is more detail:

I made a simple client which sends a single SOAP message to the service that 
I specify.  When I send it to MessageService (the sample message style server 
in the "samples\message" directory), all is well and the client receives a 
response which is an echo of the original request message.

However, whenever I try to make my own MessageService-like service, I get 
an Internal Server Error as a response, whenever I use the client to invoke it.

It has gotten to the point where I am cloning the MessageService files.
All I do is replace the name MessageService with NessageService, and change 
the directory message to nessage.  I make the name changes in the deploy.wsdd 
file and I change the java file name and the contents.

I am doign the same exact steps for each service-- in fact I even made a 
batch file to prove this to myself.  Undeploying, recompiling, puting the 
resulting class files in the appropriate WEB-INF classes directory, deploying 
the wsdd file.

In fact, I have no clue what could be causing the different behaviors (working 
vs broken).  Is there something significant about the wsdd file's "deployment" 
"name" attribute?  (grasping at straws here.)

Does anyone know where the magical document-style pivot method signature is 
documented somewhere?  OF course, in my testing I am using the same exact 
signature as that which is used in OmiService, but I am wondering where that 
is documented and what kind of flexibility is allowed.

Sigh.  Thanks,
Alex

Re: document-style service

Posted by Sam Ruby <ru...@apache.org>.
Alexander L. wrote:
 >
 > Turns out I was being fooled by the duplicate webapps structures--
 > one in my tomcat installation, one in my axis installation.  You've
 > got to put the classes in the tomcat installation directory!  I
 > wonder why there is a "webapps" structure in the axis instllation if
 > it isn't used for anything?

The webapps structure in Axis represents code that can be deployed to 
any servlet container by simply copying it verbatim (preserving the 
directory structure) to the web server of your choice.

- Sam Ruby



Re: document-style service

Posted by "Alexander L." <fd...@applied.demonics.org>.
OK folks it's your favorite time of day-- when a newbie answers his own question.

Turns out I was being fooled by the duplicate webapps structures-- one in my tomcat installation, one in my axis installation.  You've got to put the classes in the tomcat installation directory!  I wonder why there is a "webapps" structure in the axis instllation if it isn't used for anything?



Re: document-style service

Posted by "Alexander L." <fd...@applied.demonics.org>.
I forgot to mention-- 
The failure I consistently get on the server-side from running any of my 
Message-style services is a NullPointerException, as you can see below.

In particular, the following lines could be enlightening.  Personally I 
have no clue what it is doing or why there is the word RPC in there:

"Caused by: java.lang.NullPointerException
        at org.apache.axis.message.RPCElement.<init>(RPCElement.java:106)
        at org.apache.axis.message.BodyBuilder.onStartChild(BodyBuilder.java:137"


- Exception:
java.lang.NullPointerException
        at org.apache.axis.AxisFault.makeFault(AxisFault.java:116)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:433)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:306)
        at org.apache.axis.handlers.soap.SOAPService$SOAPRequestHandler.invoke(S
OAPService.java:138)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:154)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:121)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:288)
        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:57
6)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:243)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:190)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve
.java:246)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2343)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:170)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
468)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
r.java:1012)
        at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
va:1107)
        at java.lang.Thread.run(Thread.java:536)
Caused by: java.lang.NullPointerException
        at org.apache.axis.message.RPCElement.<init>(RPCElement.java:106)
        at org.apache.axis.message.BodyBuilder.onStartChild(BodyBuilder.java:137
)
        at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
rializationContextImpl.java:831)
        at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXP
arser.java:445)
        at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Abst
ractXMLDocumentParser.java:216)
        at org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(XMLNames
paceBinder.java:829)
        at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(XMLNamespaceBi
nder.java:590)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidat
or.java:829)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElemen
t(XMLDocumentFragmentScannerImpl.java:748)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1454)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XM
LDocumentFragmentScannerImpl.java:333)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardP
arserConfiguration.java:525)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardP
arserConfiguration.java:581)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.j
ava:1157)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at org.apache.axis.encoding.DeserializationContextImpl.parse(Deserializa
tionContextImpl.java:202)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:428)
        ... 39 more






> Hi,
> 
> This is a question for people experienced in document-style web services.  
> MessageService sample service works, but any attempt I make at a message 
> service fails to work.  Any hints as to what I am neglecting to do??
> 
> 
> 
> Here is more detail:
> 
> I made a simple client which sends a single SOAP message to the service that 
> I specify.  When I send it to MessageService (the sample message style server 
> in the "samples\message" directory), all is well and the client receives a 
> response which is an echo of the original request message.
> 
> However, whenever I try to make my own MessageService-like service, I get 
> an Internal Server Error as a response, whenever I use the client to invoke it.
> 
> It has gotten to the point where I am cloning the MessageService files.
> All I do is replace the name MessageService with NessageService, and change 
> the directory message to nessage.  I make the name changes in the deploy.wsdd 
> file and I change the java file name and the contents.
> 
> I am doign the same exact steps for each service-- in fact I even made a 
> batch file to prove this to myself.  Undeploying, recompiling, puting the 
> resulting class files in the appropriate WEB-INF classes directory, deploying 
> the wsdd file.
> 
> In fact, I have no clue what could be causing the different behaviors (working 
> vs broken).  Is there something significant about the wsdd file's "deployment" 
> "name" attribute?  (grasping at straws here.)
> 
> Does anyone know where the magical document-style pivot method signature is 
> documented somewhere?  OF course, in my testing I am using the same exact 
> signature as that which is used in OmiService, but I am wondering where that 
> is documented and what kind of flexibility is allowed.
> 
> Sigh.  Thanks,
> Alex

Re: Streaming RPC calls?

Posted by Steve Loughran <st...@iseran.com>.
----- Original Message -----
From: "Martin Jericho" <ma...@jabcreative.com>
To: <ax...@xml.apache.org>
Sent: Wednesday, June 26, 2002 4:52 PM
Subject: Streaming RPC calls?


> I need to implement a web service that can send/receive large amounts of
> data in a single call (maybe tens of MB).

ooh. XML or binary

>
> Does RPC allow me easily to stream an incoming array so I don't have
> everything sitting in memory?
>
> Is this done by writing a custom serializer/deserializer?
>
> Would it be easier outside of the RPC framework?

probably. I dont think anyone has tried that big on axis.

>
> I would appreciate it if someone could point me in the right direction.

well, MS say DIME, but not that many implementations outside (or inside) the
MS ones handle it; Soap With Attachements the alternative. Try sending a
20MB attachment and see what happens.




Streaming RPC calls?

Posted by Martin Jericho <ma...@jabcreative.com>.
I need to implement a web service that can send/receive large amounts of
data in a single call (maybe tens of MB).

Does RPC allow me easily to stream an incoming array so I don't have
everything sitting in memory?

Is this done by writing a custom serializer/deserializer?

Would it be easier outside of the RPC framework?

I would appreciate it if someone could point me in the right direction.