01: package diiclient;
02:
03: import javax.xml.rpc.Call;
04: import javax.xml.rpc.Service;
05: import javax.xml.rpc.JAXRPCException;
06: import javax.xml.namespace.QName;
07: import javax.xml.rpc.ServiceFactory;
08: import javax.xml.rpc.ParameterMode;
09:
10: public class HelloDIIClient {
11:
12: private static String qnameService = "Hello";
13: private static String qnamePort = "HelloSEI";
14: private static String BODY_NAMESPACE_VALUE = "urn:Hello/wsdl";
15: private static String ENCODING_STYLE_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri";
16: private static String NS_XSD = "http://www.w3.org/2001/XMLSchema";
17: private static String URI_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
18:
19: /**
20: * @param args the command line arguments
21: */
22: public static void main(String[] args) {
23: System.out.println("Endpoint address = " + args[0]);
24: try {
25: ServiceFactory factory = ServiceFactory.newInstance();
26: Service service = factory.createService(new QName(
27: qnameService));
28:
29: QName port = new QName(qnamePort);
30:
31: Call call = service.createCall(port);
32:
33: call.setTargetEndpointAddress(args[0]);
34: call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(
35: true));
36: call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
37: call.setProperty(ENCODING_STYLE_PROPERTY, URI_ENCODING);
38:
39: QName QNAME_TYPE_STRING = new QName(NS_XSD, "string");
40:
41: call.setReturnType(QNAME_TYPE_STRING);
42:
43: call.setOperationName(new QName(BODY_NAMESPACE_VALUE,
44: "sayHello"));
45: call.addParameter("String_1", QNAME_TYPE_STRING,
46: ParameterMode.IN);
47:
48: String[] params = { "Murph!" };
49:
50: String result = (String) call.invoke(params);
51:
52: System.out.println(result);
53: } catch (Exception ex) {
54: ex.printStackTrace();
55: }
56: }
57:
58: }
|