Hi Eran,
I updated to newest version.Now again I am getting the server error-
even after setting the options.setProperty(MessageContextConstants.CHUNKED,
Constants.VALUE_FALSE).I checked the server log this time it is showing the
following messages:
[Tue Mar 21 11:12:29 2006] [error] PythonHandler ws: Traceback (most recent
call last):
[Tue Mar 21 11:12:29 2006] [error] PythonHandler ws: File
"/usr/lib/python2.3/site-packages/mod_python/apache.py", line 193, in
Dispatch\n result = object(req)
[Tue Mar 21 11:12:29 2006] [error] PythonHandler ws: File
"/home/basis/www/web-services/ws.py", line 10, in handler\n
dispatch.AsHandler(modules=(sbml,kashif, ),request=req)
[Tue Mar 21 11:12:29 2006] [error] PythonHandler ws: File
"/home/basis/pythonModules//lib/python/ZSI/dispatch.py", line 180, in
AsHandler\n ps = ParsedSoap(request)
[Tue Mar 21 11:12:29 2006] [error] PythonHandler ws: File
"/home/basis/pythonModules//lib/python/ZSI/parse.py", line 60, in __init__\n
str(e.__class__) + "): " + str(e), 0)
[Tue Mar 21 11:12:29 2006] [error] PythonHandler ws: ParseException: Can't
parse document (xml.parsers.expat.ExpatError): not well-formed (invalid token):
line 1, column 724
To get a clear idea about the problem.I am attaching with this mail the
ClientUtil.java,TestClient.java and the input file.
Kind Regards
Kashif Saleem
-----Original Message-----
From: Eran Chinthaka [mailto:[EMAIL PROTECTED]
Sent: Mon 20/03/2006 15:34
To: [email protected]
Subject: Re: [Axis2] java.lang.NoSuchMethodError:
org.apache.axis2.context.MessageContext.getMessageInformationHeaders()
Hi Kashif,
Seems like you are trying to use an older version addressing mar with
Axis2. Better have the appropriate version of addressing in the modules
folder.
MessageContext.getMessageInformationHeaders is a method removed some
time back.
-- Chinthaka
P.S. Please prefix the subjects of all your emails related to Axis2 with
[Axis2].
Kashif Saleem wrote:
> Hi All,
> The problem is this, when calling ServiceClient. sendReceive
> (OMElement), I
> got a following message:
>
> Exception in thread "main" java.lang.NoSuchMethodError:
> org.apache.axis2.context.MessageContext.getMessageInformationHeaders()Lorg/apache/axis2/addressing/MessageInformationHeaders;
> at
> org.apache.axis2.handlers.addressing.AddressingOutHandler.invoke(AddressingOutHandler.java:56)
> at org.apache.axis2.engine.Phase.invoke(Phase.java:376)
> at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:351)
> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:441)
> at
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:317)
> at
> org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:267)
> at
> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:393)
> at
> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:326)
> at userguide.clients.TestClient.main(TestClient.java:54)
>
> I am just wondering about the cause of it.Attached with this mail is my
> client.I would
> appreciate your help.
>
>
> Kind Regards
> Kashif Saleem
>
> ------------------------------------------------------------------------
>
> /*
> * Copyright 2004,2005 The Apache Software Foundation.
> *
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> * You may obtain a copy of the License at
> *
> * http://www.apache.org/licenses/LICENSE-2.0
> *
> * Unless required by applicable law or agreed to in writing, software
> * distributed under the License is distributed on an "AS IS" BASIS,
> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> * See the License for the specific language governing permissions and
> * limitations under the License.
> */
>
> package userguide.clients;
>
> import org.apache.axis2.AxisFault;
> import org.apache.axis2.Constants;
> import org.apache.axis2.addressing.EndpointReference;
> import org.apache.axis2.client.Options;
> import org.apache.axis2.client.ServiceClient;
> import org.apache.axis2.om.OMAbstractFactory;
> import org.apache.axis2.om.OMElement;
> import org.apache.axis2.om.OMFactory;
> import org.apache.axis2.om.OMNamespace;
>
> import javax.xml.namespace.QName;
> import javax.xml.stream.FactoryConfigurationError;
> import javax.xml.stream.XMLOutputFactory;
> import javax.xml.stream.XMLStreamException;
> import javax.xml.stream.XMLStreamWriter;
>
> /**
> * This is a Client progam that accesses 'MyService' web service in Axis2
> samples
> */
> public class TCPClient {
>
> private static String toEpr =
> "tcp://localhost:8080/axis2/services/MyService";
>
> public static void main(String[] args) throws AxisFault {
>
> Options options = new Options();
> options.setTo(new EndpointReference(toEpr));
> options.setTransportInProtocol(Constants.TRANSPORT_TCP);
>
> ServiceClient sender = new ServiceClient();
> sender.engageModule(new QName(Constants.MODULE_ADDRESSING));
> sender.setOptions(options);
> OMElement result = sender.sendReceive(getPayload());
>
> try {
> XMLStreamWriter writer = XMLOutputFactory.newInstance()
> .createXMLStreamWriter(System.out);
> result.serialize(writer);
> writer.flush();
> } catch (XMLStreamException e) {
> e.printStackTrace();
> } catch (FactoryConfigurationError e) {
> e.printStackTrace();
> }
> }
>
>
> private static OMElement getPayload() {
> OMFactory fac = OMAbstractFactory.getOMFactory();
> OMNamespace omNs = fac.createOMNamespace(
> "tcp://localhost:8080/axis2/services/MyService", "example1");
> OMElement method = fac.createOMElement("echo", omNs);
> OMElement value = fac.createOMElement("Text", omNs);
> value.addChild(fac.createText(value, "Axis2 Echo String "));
> method.addChild(value);
>
> return method;
> }
> }
>
/*
* Copyright 2004,2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package userguide.clients;
import org.apache.axis2.om.OMAbstractFactory;
import org.apache.axis2.om.OMElement;
import org.apache.axis2.om.OMFactory;
import org.apache.axis2.om.OMNamespace;
import java.io.*;
public class ClientUtil {
public static OMElement getEchoOMElement() {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(
"http://example1.org/example1", "example1");
OMElement method = fac.createOMElement("echo", omNs);
OMElement value = fac.createOMElement("Text", omNs);
value.addChild(fac.createText(value, "Axis2 Echo String "));
method.addChild(value);
return method;
}
public static OMElement getValidateOMElement() {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(
"http://example1.org/example1", "example1");
OMElement method = fac.createOMElement("validate", omNs);
String sbml=readFile("/home/nks34/Desktop/softwares/axis2/samples/userguide/src/userguide/clients/sbmlmodel.xml");
System.out.println("I read it"+sbml);
OMElement value = fac.createOMElement(sbml, omNs);
// System.out.println("I read it");
// value.addChild(fac.createText(value, "Axis2 Echo String "));
method.addChild(value);
return method;
}
public static OMElement getHelloOMElement() {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(
"http://example1.org/example1", "example1");
OMElement method = fac.createOMElement("helloWorld", omNs);
/* String sbml=readFile("/home/nks34/Desktop/softwares/axis2/samples/userguide/src/userguide/clients/sbmlmodel.xml");*/
OMElement value = fac.createOMElement("Text", omNs);
// value.addChild(fac.createText(value, "Axis2 Echo String "));
method.addChild(value);
return method;
}
public static String readFile(String file)
{
String sbml="";
try {
BufferedReader in = new BufferedReader(new FileReader(file));
String str;
while ((str = in.readLine()) != null) {
sbml+=str;
}
in.close();
} catch (IOException e) {
}
return sbml;
}
public static OMElement getPingOMElement() {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(
"http://example1.org/example1", "example1");
OMElement method = fac.createOMElement("ping", omNs);
OMElement value = fac.createOMElement("Text", omNs);
value.addChild(fac.createText(value, "Axis2 Ping String "));
method.addChild(value);
return method;
}
}
/*
* Copyright 2004,2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package userguide.clients;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.context.*;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.om.OMElement;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
import java.io.StringWriter;
/**
* Sample for synchronous single channel blocking service invocation.
* Message Exchage Pattern IN-OUT
*/
public class TestClient {
private static EndpointReference targetEPR = new EndpointReference("http://www.basis.ncl.ac.uk/web-services/sbml.py");
public static void main(String[] args) {
try {
/* java.net.URL endpoint = new java.net.URL("http://www.basis.ncl.ac.uk/web-services/sbml.py");
EndpointReference targetEPR = new EndpointReference(targetEPR);*/
OMElement payload = ClientUtil.getHelloOMElement();
Options options = new Options();
options.setTo(targetEPR);
options.setProperty(MessageContextConstants.CHUNKED, Constants.VALUE_FALSE);
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
//Blocking invocation
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
OMElement result = sender.sendReceive(payload);
System.out.println("I got the result");
StringWriter writer = new StringWriter();
result.serialize(XMLOutputFactory.newInstance()
.createXMLStreamWriter(writer));
writer.flush();
System.out.println(writer.toString());
} catch (AxisFault axisFault) {
System.out.println("I am in axis fault");
axisFault.printStackTrace();
} catch (XMLStreamException e) {
e.printStackTrace();
}
}
}