Hi Vipul,
thanks for your reply.
call.getMessageContext().getMessage().writeTo(System.out); is not working,
because getMessageContext() is not a method in Call Interface.
Here is my complete code which is available with axis distribution
chapter5
/*
* Copyright 2001-2004 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 samples.userguide.example5;
import org.apache.axis.AxisFault;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.utils.Options;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
public class Client
{
public static void main(String [] args) throws Exception
{
Options options = new Options(args);
Order order = new Order();
order.setCustomerName("Glen Daniels");
order.setShippingAddress("275 Grove Street, Newton, MA");
String [] items = new String[] { "mp3jukebox", "1600mahBattery" };
int [] quantities = new int [] { 1, 4 };
order.setItemCodes(items);
order.setQuantities(quantities);
Service service = new Service();
Call call = (Call) service.createCall();
QName qn = new QName( "urn:BeanService", "Order" );
call.registerTypeMapping(Order.class, qn,
new
org.apache.axis.encoding.ser.BeanSerializerFactory(Order.class, qn),
new
org.apache.axis.encoding.ser.BeanDeserializerFactory(Order.class, qn));
String result;
try {
call.setTargetEndpointAddress( new java.net.URL(options.getURL())
);
call.setOperationName( new QName("OrderProcessor", "processOrder")
);
call.addParameter( "arg1", qn, ParameterMode.IN );
call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING );
result = (String) call.invoke( new Object[] { order } );
} catch (AxisFault fault) {
result = "Error : " + fault.toString();
}
System.out.println(result);
}
}
Michael Lambert <[EMAIL PROTECTED]> wrote: Upul Godage wrote: Hi,
String ret = (String) call.invoke( new Object[] { textToSend } );
call.getMessageContext().getMessage().writeTo(System.out); // Writes to the
given OutputStream
Upul
On Tue, Mar 4, 2008 at 3:33 PM, Seetha Rama Krishna <[EMAIL PROTECTED]>
wrote:
Hi,
I deployed the sample code which is distributed by axis, I just wanted to
see the SOAP Request message through programming.
I had done this through TCPMON. I need to check it through programming.
How can i do this. I tried to modify the code Client code for MyService
webservice.
MessageContext mc = new MessageContext(null);
System.out.println(mc.getAxisEngine());
String ret = (String) call.invoke( new Object[] { textToSend } );
System.out.println(AxisEngine.getCurrentMessageContext().getRequestMessage());
I am getting nullpointer Exception when i run this code.
By using TCPMonitor, i need to check the SOAP Request Messages
and Response message of Remote webservice.
How can i do this
Thanks & Regards,
Krishna
---------------------------------
Now you can chat without downloading messenger. Click here to know how.
I use a simple customer module that I configured through axis2.xml:
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.handlers.AbstractHandler;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* Simple handler that logs the contents of SOAPs messages to INFO via
* the jakarta commons logging package.
*
* Handler typically is configured to capture messages passing through
* either the IN or OUT phases of Axis2. To register the handler enter an
* xml element similar to the one below in your axis2.xml:
*
* <phaseOrder type="InFlow">
* ...
* <phase name="userMonitorPhase">
* <handler name="SOAPSniffer"
* class="com.fry.axis2.module.SOAPSnifferHandler">
* <order phase="userMonitorPhase"/>
* </handler>
* </phase>
* ...
* </phaseOrder>
*
* @author foo
*
*/
public class SOAPSnifferHandler extends AbstractHandler {
private Log log = LogFactory.getLog(getClass());
public InvocationResponse invoke(MessageContext context) throws AxisFault {
SOAPEnvelope envelope = context.getEnvelope();
log.info( envelope.toString() );
return InvocationResponse.CONTINUE;
}
}
Thanks & Regards,
Krishna
---------------------------------
Forgot the famous last words? Access your message archive online. Click here.