Hi
guys Thanks
for your insightful responses - but now my problem has moved on somewhat. I
have left behind (or maybe now not yet reaching!) the null pointer exception
and am now experiencing a 'no signature match exception': <faultstring>Exception
while handling service request:
altituderesponsatest.Processor.responsaQuery(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext,org.apache.soap.rpc.SOAPContext)
-- no signature match</faultstring> I
have altered all parts involved in the application in an attempt to overcome
the null pointer exception (including implementing a generic way of creating
the document - thanks Scott). Here are the new bits: Deployment
Descriptor: <isd:service
xmlns:isd="http://xml.apache.org/xml-soap/deployment" id="urn:Processor"
type="message"> <isd:provider type="java" scope="Application"
methods="responsaQuery"> <isd:java
class="altituderesponsatest.Processor" static="false"/> </isd:provider> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener> </isd:service> Message
sent by client to server: <s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <responsaQuery
number="0208233826" xmlns="urn:Processor"/> </s:Body> </s:Envelope> Server: package
altituderesponsatest; public
class Processor { public void responsaQuery(Envelope env,
SOAPContext req, SOAPContext res) throws Exception{ DocumentBuilder docbuilder =
XMLParserUtils.getXMLDocBuilder();
Document doc = docbuilder.newDocument(); Element response =
doc.createElement("response"); Vector bodyEntries = new Vector(); bodyEntries.add(response); StringWriter writer = new StringWriter(); env.marshall(writer, null); res.setRootPart(writer.toString(),
"text/xml"); } } Client: package
altituderesponsatest; public
class AniSender { public void sendAni(URL serviceURL, String
msgFilename) throws IOException, SAXException,
SOAPException { FileReader reader = new
FileReader(msgFilename); DocumentBuilder builder =
XMLParserUtils.getXMLDocBuilder(); Document doc = builder.parse(new
InputSource(reader)); if (doc == null) { throw new
SOAPException(Constants.FAULT_CODE_CLIENT, "Error parsing XML
message."); } Envelope msgEnvelope =
Envelope.unmarshall(doc.getDocumentElement()); Message msg = new Message(); msg.send(serviceURL,
"urn:Processor", msgEnvelope); SOAPTransport transport =
msg.getSOAPTransport(); BufferedReader resReader =
transport.receive(); String line; while ((line = resReader.readLine()) !=
null) { System.out.println(line); } } public static void main(String[] args) { try { URL serviceURL = new
URL("http://localhost:8080/soap/servlet/messagerouter"); AniSender aniSender = new
AniSender(); aniSender.sendAni(serviceURL,
args[0]); } catch (Exception e) { e.printStackTrace(); } } } I
would be most grateful for any input Tony |
- null pointer exception Brian Shields
- Re: null pointer exception Scott Nichol
- Re: null pointer exception Brian Shields
- Re: null pointer exception Scott Nichol
- null pointer exception Tony Vieitez
- Re: null pointer exception Cyrus Adkisson
- Re: null pointer exception Scott Nichol
- Re: null pointer exception tony vieitez
- Re: null pointer exception Scott Nichol
- null pointer exception tony vieitez
- Re: null pointer exception Scott Nichol
- null pointer exception tony vieitez
- Re: null pointer exception Jonathan Roberts
- Re: null pointer exception Scott Nichol
- null pointer exception tony vieitez
- Re: null pointer exception Scott Nichol
- null pointer exception tony vieitez