Brian,
The tried what the document described by specifiying a client-config.wsdd file
and also using 
the following code,
EngineConfiguration clientConfig=getClientConfig();
       XYServiceLocator service=new XYServiceLocator();
       service.setEngineConfiguration(clientConfig);
       service.setEngine(new AxisClient(clientConfig));
       XY myservice=service.getmyservice();

In both cases it threw the ClassCastException

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: org.apache.axis.ConfigurationException:
java.lang.ClassCastException
java.lang.ClassCastException
        at 
org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableIte
m.java:338)
        at 
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.j
ava:310)
        at 
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:
296)
        at
org.apache.axis.deployment.wsdd.WSDDDeployment.getHandler(WSDDDeployment.java:
455)
        at 
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.j
ava:312)
        at 
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:
296)
        at
org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:164)
        at 
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.j
ava:310)
        at 
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:
296)
        at 
org.apache.axis.deployment.wsdd.WSDDTargetedChain.makeNewInstance(WSDDTargetedChain.
java:190)
        at 
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.j
ava:310)
        at 
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:
296)
        at 
org.apache.axis.deployment.wsdd.WSDDDeployment.getTransport(WSDDDeployment.java:470)
        at
org.apache.axis.configuration.FileProvider.getTransport(FileProvider.java:282)
        at org.apache.axis.AxisEngine.getTransport(AxisEngine.java:283)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:179)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
        at org.apache.axis.client.Call.invoke(Call.java:2553)
        at org.apache.axis.client.Call.invoke(Call.java:2248)
        at org.apache.axis.client.Call.invoke(Call.java:2171)
        at org.apache.axis.client.Call.invoke(Call.java:1691)
        at 
com.micros.webservices.og._4_2.Name_wsdl.NameServiceSoapStub.newProfile(NameServiceSoa
pStub.java:739)
        at mf.ors.client.ORSClient.insertProfile(ORSClient.java:194)
        at mf.ors.client.ORSClient.main(ORSClient.java:62)
I am not sure where is there a ClassCastException occuring? Is it my handler
class that looks 
odd:
package mf.ors.client;

/**
 * @author kapilkhanna
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class SimpleHandler implements javax.xml.rpc.handler.Handler {
        public SimpleHandler() {
    }

    public boolean handleRequest(javax.xml.rpc.handler.MessageContext context)
{
        System.out.println("ClientHandler: In handleRequest");
        return true;
    }

    public boolean handleResponse(javax.xml.rpc.handler.MessageContext
context) 
{
        System.out.println("ClientHandler: In handleResponse");
        return true;
    }

    public boolean handleFault(javax.xml.rpc.handler.MessageContext context)
{
        System.out.println("ClientHandler: In handleFault");
        return true;
    }

    public void init(javax.xml.rpc.handler.HandlerInfo config) {
                System.out.println("Inside init()");
    }

    public void destroy() {
    }

    public javax.xml.namespace.QName[] getHeaders() {
        return null;
    }
}



Does the following help?

[How do I setup handlers in Axis clients?] \
http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/AxisClientConfiguration


I ran across it this morning,

-brian

-----Original Message-----
From: Kapil Khanna [mailto:[EMAIL PROTECTED]
Sent: Wednesday, July 28, 2004 4:44 PM
To: [EMAIL PROTECTED]
Subject: Re: How to get a MessageContext from a client


I defined a simple Handler class and tried to set up the handler in the
client-config.wsdd file. 
I am using the following client-config.wsdd file
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/";
xmlns:java="http://xml.apac
he.org/axis/wsdd/providers/java">
<handler name="Simple" type="mf.ors.client.SimpleHandler"/>
<!--globalConfiguration>
<requestFlow> <handler type="Simple"/> </requestFlow>
</globalConfiguration-->
<service name="NameService">
<requestFlow> <handler type="Simple"/> </requestFlow>
</service>
 <transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
 <transport name="java"
pivot="java:org.apache.axis.transport.java.JavaSender"/>
 <transport name="local"
pivot="java:org.apache.axis.transport.local.LocalSender"/>
</deployment>

When i try to execute the SOAP client i get the following exception :
Exception in thread "main" java.lang.NullPointerException
        at org.apache.axis.client.Stub.extractAttachments(Stub.java:331)
        at 
com.micros.webservices.og._4_2.Name_wsdl.NameServiceSoapStub.newProfile(NameServiceSoa

\
 pStub.java:745)
        at mf.ors.client.ORSClient.insertProfile(ORSClient.java:186)
        at mf.ors.client.ORSClient.main(ORSClient.java:59)


Any clues?


You can setup client side handlers in client-config.wsdd.  Just place it 
on your clients classpath.
  --m


Kapil Khanna wrote:

> I am consuming an external web service and am trying to get a handle to the

> MessageContext via MessageContext.getCurrentContext(). Unfortunately the
> MessageContext  i 
> get is always null.
> The purpose of getting to the MessageContext is to get to the SOAPRequest
and
> SOAPResponse 
> messages. There have been numerous posts regarding this but i have not seen
> any concrete 
> solution. I have heard about Handlers. My question is how do i configure a
> Handler, cause i am 
> running AXIS outside a web container, i.e from command line?
> Per the users guide, handlers have been setup for a web service that is
> running in the axis 
> server.
> Thanks.
> 
> 
> 
> 
> 


Reply via email to