users@jax-rpc.java.net

Re: JAX-RPC DII Client

From: kathy walsh <Kathleen.Walsh_at_Sun.COM>
Date: Wed, 03 Mar 2004 12:19:59 -0500

gaje-

It looks like your static client uses the literal style/use whereas the
dii client uses soap/encoding-
I also do not see the parameters that you are passing defined anywhere
in you dii client program-
Can you post your wsdl? Also how did you generate the static artifacts?
did you uses wscompile? If so,
what options and features did you use-

Thanks,
Kathy

gaje gaj wrote:

>Hi ,
>
> I am writing a DII client for a web service .
> I used the stub client approach It worked.
> I changed the source code of the StreamingSender.java
>file to print the generated SOAP Message.
>
> For a static client (using stub) the SOAP Message
>Generated is
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <env:Envelope
>xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
>xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
> <env:Body>
> <ns0:Z_WARRANTY_LOOKUP>
> <CUSTOMER_NUM>123</CUSTOMER_NUM>
> <PRODUCT_ALIAS>123</PRODUCT_ALIAS>
> <PRODUCT_NUM>122</PRODUCT_NUM>
> <SALES_ORDER>12232</SALES_ORDER>
> <SERIAL_NUM>121212121</SERIAL_NUM>
> </ns0:Z_WARRANTY_LOOKUP>
> </env:Body>
> </env:Envelope>
>
>For the Dynamic Client (DII) the SOAP Message
>generated is
>
><?xml version="1.0" encoding="UTF-8"?><env:Envelope
>xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
>env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><env:Body><ans1:Z_WARRANTY_LOOKUP
>xmlns:ans1="urn:sap-com:document:sap:rfc:functions"><CUSTOMER_NUM
>href="#ID1"/><PRODUCT_ALIAS href="#ID2"/><PRODUCT_NUM
>href="#ID3"/><SALES_ORDER href="#ID4"/><SERIAL_NUM
>href="#ID5"/></ans1:Z_WARRANTY_LOOKUP><ans1:CUSTOMER_NUM
>xmlns:ans1="urn:sap-com:document:sap:rfc:functions"
>id="ID1"/><ans1:PRODUCT_ALIAS
>xmlns:ans1="urn:sap-com:document:sap:rfc:functions"
>id="ID2"/><ans1:PRODUCT_NUM
>xmlns:ans1="urn:sap-com:document:sap:rfc:functions"
>id="ID3"/><ans1:SALES_ORDER
>xmlns:ans1="urn:sap-com:document:sap:rfc:functions"
>id="ID4"/><ans1:SERIAL_NUM
>xmlns:ans1="urn:sap-com:document:sap:rfc:functions"
>id="ID5"/></env:Body></env:Envelope>
>
>if you see the dynamic client SOAP Message there is
>not input values which I passed in the program .
>
>
>My DII Client program program is as follows:
>
>import javax.xml.rpc.Call;
>import javax.xml.rpc.Service;
>import javax.xml.rpc.JAXRPCException;
>import javax.xml.namespace.QName;
>import javax.xml.rpc.ServiceFactory;
>import javax.xml.rpc.ParameterMode;
>import javax.xml.rpc.handler.*;
>import javax.xml.rpc.handler.soap.*;
>import javax.xml.soap.*;
>import java.util.*;
>
>public class HelloClient {
>
> private static String qnameService =
>"Z_WARRANTY_LOOKUPService";
> private static String qnamePort =
>"Z_WARRANTY_LOOKUPPortType";
>
> private static String BODY_NAMESPACE_VALUE =
>"urn:sap-com:document:sap:rfc:functions";
> private static String ENCODING_STYLE_PROPERTY =
>"javax.xml.rpc.encodingstyle.namespace.uri";
> private static String NS_XSD =
>"http://www.w3.org/2001/XMLSchema";
> private static String URI_ENCODING =
>"http://schemas.xmlsoap.org/soap/encoding/";
>
>
> public static void main(String[] args) {
>
> try {
> ServiceFactory factory =
>ServiceFactory.newInstance();
> QName serviceName = new
>QName(BODY_NAMESPACE_VALUE, "LogHandler");
> QName portName = new QName(BODY_NAMESPACE_VALUE,
>"LogHandlerPort");
> List handlerChain = new ArrayList();
> Map logConfig = new HashMap();
> logConfig.put("logDirectory", "d:/ temp");
> logConfig.put("severityLevel", "verbose");
> handlerChain.add(new HandlerInfo(LogHandler.class,
>logConfig, null));
> Service service =
>factory.createService(serviceName);
> HandlerRegistry registry =
>service.getHandlerRegistry();
> registry.setHandlerChain(portName, handlerChain);
>
>
> QName port = new QName(qnamePort);
>
> Call call = service.createCall(port);
> call.setTargetEndpointAddress("url");
>
>
>call.setProperty(Call.SOAPACTION_USE_PROPERTY, new
>Boolean(true));
>
>call.setProperty(Call.SOAPACTION_URI_PROPERTY,"");
>
>call.setProperty(Call.USERNAME_PROPERTY,"SWOPRFC");
> call.setProperty(Call.PASSWORD_PROPERTY
>,"3A3RHX6H");
> call.setProperty(ENCODING_STYLE_PROPERTY,
>URI_ENCODING);
>
> call.addParameter("CUSTOMER_NUM", new
>javax.xml.namespace.QName("urn:sap-com:document:sap:rfc:functions",
>"CUSTOMER_NUM"),String.class,
>javax.xml.rpc.ParameterMode.IN);
> call.addParameter("PRODUCT_ALIAS", new
>javax.xml.namespace.QName("urn:sap-com:document:sap:rfc:functions",
>"PRODUCT_ALIAS"),String.class,javax.xml.rpc.ParameterMode.IN);
> call.addParameter("PRODUCT_NUM", new
>javax.xml.namespace.QName("urn:sap-com:document:sap:rfc:functions",
>"PRODUCT_NUM"),
>String.class,javax.xml.rpc.ParameterMode.IN);
> call.addParameter("SALES_ORDER", new
>javax.xml.namespace.QName("urn:sap-com:document:sap:rfc:functions",
>"SALES_ORDER"),String.class,javax.xml.rpc.ParameterMode.IN);
> call.addParameter("SERIAL_NUM", new
>javax.xml.namespace.QName("urn:sap-com:document:sap:rfc:functions",
>"SERIAL_NUM"),
>String.class,javax.xml.rpc.ParameterMode.IN);
> call.setReturnType(new
>javax.xml.namespace.QName("urn:sap-com:document:sap:rfc:functions",
>"ZWARRANTY_ENTITLE"));
>
> call.setOperationName(new
>QName(BODY_NAMESPACE_VALUE,"Z_WARRANTY_LOOKUP"));
>
> System.out.println(call);
> Object p[] = {s1,s2,s3,s4,s5};
>
> Object result = call.invoke(p);
> System.out.println(result);
>
> } catch (Exception ex) {
> ex.printStackTrace();
> }
> }
>}
>
>The p[] which I am passing in the invoke is not
>populating in the SOAP Message .
>Can anybody help me ?
>
>Thanks & Regards
>Gajendran.G
>
>
>
>
>
>
>
>
>__________________________________
>Do you Yahoo!?
>Yahoo! Search - Find what you’re looking for faster
>http://search.yahoo.com
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
>For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net