java.lang.NoSuchMethodError: org.apache.axis2.context.MessageContext.getMessageInformationHeaders()

2006-03-20 Thread Kashif Saleem
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;
}
}


Re: [Axis2] java.lang.NoSuchMethodError: org.apache.axis2.context.MessageContext.getMessageInformationHeaders()

2006-03-20 Thread Eran Chinthaka

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;
}
}