1 package demo.soap_header.client; 2 3 import java.io.File ; 4 import java.net.URL ; 5 6 import javax.xml.namespace.QName ; 7 import javax.xml.ws.Holder; 8 import org.objectweb.headers.HeaderService; 9 import org.objectweb.headers.HeaderTester; 10 import org.objectweb.headers.InHeader; 11 import org.objectweb.headers.InHeaderResponse; 12 import org.objectweb.headers.InoutHeader; 13 import org.objectweb.headers.InoutHeaderResponse; 14 import org.objectweb.headers.OutHeader; 15 import org.objectweb.headers.OutHeaderResponse; 16 import org.objectweb.headers.SOAPHeaderData; 17 18 public final class Client { 19 20 private static final QName SERVICE_NAME 21 = new QName ("http://objectweb.org/headers", "HeaderService"); 22 23 24 private Client() { 25 } 26 27 public static void main(String args[]) throws Exception { 28 29 if (args.length == 0) { 30 System.out.println("please specify wsdl"); 31 System.exit(1); 32 } 33 34 URL wsdlURL; 35 File wsdlFile = new File (args[0]); 36 if (wsdlFile.exists()) { 37 wsdlURL = wsdlFile.toURL(); 38 } else { 39 wsdlURL = new URL (args[0]); 40 } 41 42 HeaderService hs = new HeaderService(wsdlURL, SERVICE_NAME); 43 HeaderTester proxy = hs.getSoapPort(); 44 45 invokeInHeader(proxy); 46 invokeOutHeader(proxy); 47 invokeInOutHeader(proxy); 48 } 49 50 private static void invokeInHeader(HeaderTester proxy) { 51 System.out.println("Invoking inHeader operation"); 53 InHeader me = new InHeader(); 54 me.setRequestType("Celtix user"); 55 SOAPHeaderData headerInfo = new SOAPHeaderData(); 56 headerInfo.setOriginator("Celtix client"); 57 headerInfo.setMessage("Invoking inHeader operation"); 58 InHeaderResponse response = proxy.inHeader(me, headerInfo); 59 System.out.println("\tinHeader invocation returned: "); 60 System.out.println("\t\tResult: " + response.getResponseType()); 61 } 62 63 private static void invokeOutHeader(HeaderTester proxy) { 64 System.out.println("Invoking outHeader operation"); 66 OutHeader me = new OutHeader(); 67 me.setRequestType("Celtix user"); 68 Holder<OutHeaderResponse> theResponse = new Holder<OutHeaderResponse>(); 69 Holder<SOAPHeaderData> headerInfo = new Holder<SOAPHeaderData>(); 70 proxy.outHeader(me, theResponse, headerInfo); 71 System.out.println("\toutHeader invocation returned: "); 72 System.out.println("\t\tOut parameter: " + theResponse.value.getResponseType()); 73 System.out.println("\t\tHeader content:"); 74 System.out.println("\t\t\tOriginator: " + headerInfo.value.getOriginator()); 75 System.out.println("\t\t\tMessage: " + headerInfo.value.getMessage()); 76 } 77 78 private static void invokeInOutHeader(HeaderTester proxy) { 79 System.out.println("Inovking inoutHeader operation"); 80 InoutHeader me = new InoutHeader(); 81 me.setRequestType("Celtix user"); 82 Holder<SOAPHeaderData> headerInfo = new Holder<SOAPHeaderData>(); 83 SOAPHeaderData shd = new SOAPHeaderData(); 84 shd.setOriginator("Celtix client"); 85 shd.setMessage("Inovking inoutHeader operation"); 86 headerInfo.value = shd; 87 InoutHeaderResponse response = proxy.inoutHeader(me, headerInfo); 88 System.out.println("\tinoutHeader invocation returned: "); 89 System.out.println("\t\tResult: " + response.getResponseType()); 90 System.out.println("\t\tHeader content:"); 91 System.out.println("\t\t\tOriginator: " + headerInfo.value.getOriginator()); 92 System.out.println("\t\t\tMessage: " + headerInfo.value.getMessage()); 93 94 System.exit(0); 95 } 96 } 97 98 | Popular Tags |