HI,

I'm trying to use call.invoke(Envelope ), so i created a Envelope without the attriabutes,

 

here is the source code


package samples.security;

import javax.xml.namespace.QName;

//import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.message.SOAPBodyElement;
import org.apache.axis.message.SOAPEnvelope;
//import org.apache.axis.utils.Options;
import org.apache.axis.utils.XMLUtils;
//import org.apache.xpath.operations.String;


import org.apache.axis.encoding.XMLType;

import javax.xml.rpc.ParameterMode;
import javax.xml.soap.Name;
import javax.xml.namespace.QName;


public class Client {
  //private static Name hello;
 
    public static void main(String[] args) throws Exception {
        try {
   
     System.out.println("\n============= 1 ==============");
            Service service = new Service();
               System.out.println("\n============= 2 ==============");
            Call call = (Call) service.createCall();
               System.out.println("\n============= 3 ==============");
            call.setTargetEndpointAddress(new java.net.URL("http://localhost:5678/mr/rpcrouter"));
               System.out.println("\n============= 4 ==============");


         
                       SOAPEnvelope env = new SOAPEnvelope();
                      
           
               System.out.println("\n============= 5 ==============");


     SOAPBodyElement sbe = new SOAPBodyElement(XMLUtils.StringToElement("urn:dss", "validateSession", ""));

    env.getBody().addBodyElement(env.createName("stoken"));
   env.getBody().addBodyElement(env.createName("reqID"));
    env.getBody().addBodyElement(env.createName("clientID"));
 
               System.out.println("\n============= 6 ==============");
 sbe.setAttribute("hello","world","jhkjh");
          

       System.out.println("vector is "+env.getBodyElements());           
            XMLUtils.PrettyElementToStream(env.getAsDOM(), System.out);
               System.out.println("\n============= 7 ==============");

            env = new SignedSOAPEnvelope(env, "http://xml-security");
           
               System.out.println("\n============= 8 ==============");

            System.out.println("\n============= Request ==============");
                            
            XMLUtils.PrettyElementToStream(env.getAsDOM(), System.out);

            call.invoke(env);

            MessageContext mc = call.getMessageContext();

            System.out.println("\n============= Response ==============");

            XMLUtils.PrettyElementToStream(mc.getResponseMessage().getSOAPEnvelope().getAsDOM(), System.out);
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

the webservice I'm trying access, which expects 3 parameters, I'm not sure how to pass those parameters in the envelope

 

any help would be great

 

Thx

Sam

 



Do you Yahoo!?
Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!

Reply via email to