1 package demo.ws_addressing.client; 2 3 import java.io.File ; 4 import java.lang.reflect.UndeclaredThrowableException ; 5 import java.util.Map ; 6 import javax.xml.namespace.QName ; 7 import javax.xml.ws.BindingProvider; 8 9 import org.objectweb.celtix.ws.addressing.AddressingBuilder; 10 import org.objectweb.celtix.ws.addressing.AddressingProperties; 11 import org.objectweb.celtix.ws.addressing.AttributedURIType; 12 import org.objectweb.celtix.ws.addressing.ObjectFactory; 13 import org.objectweb.celtix.ws.addressing.RelatesToType; 14 15 import org.objectweb.hello_world_soap_http.Greeter; 16 import org.objectweb.hello_world_soap_http.PingMeFault; 17 import org.objectweb.hello_world_soap_http.SOAPService; 18 19 import static org.objectweb.celtix.ws.addressing.JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES; 20 21 22 public final class Client { 23 24 private static final QName SERVICE_NAME = 25 new QName ("http://objectweb.org/hello_world_soap_http", "SOAPService"); 26 private static final ObjectFactory WSA_OBJECT_FACTORY = 27 new ObjectFactory(); 28 private static final String USER_NAME = System.getProperty("user.name"); 29 30 31 private Client() { 32 } 33 34 public static void main(String args[]) throws Exception { 35 if (args.length == 0) { 36 System.out.println("please specify wsdl"); 37 System.exit(1); 38 } 39 40 try { 41 File wsdl = new File (args[0]); 42 SOAPService service = new SOAPService(wsdl.toURL(), SERVICE_NAME); 43 Greeter port = service.getSoapPort(); 44 45 implicitPropagation(port); 46 47 explicitPropagation(port); 48 49 implicitPropagation(port); 50 51 } catch (UndeclaredThrowableException ex) { 52 ex.getUndeclaredThrowable().printStackTrace(); 53 } catch (Exception ex) { 54 ex.printStackTrace(); 55 } finally { 56 System.exit(0); 57 } 58 } 59 60 64 private static void implicitPropagation(Greeter port) { 65 System.out.println(); 66 System.out.println("Implicit MessageAddressingProperties propagation"); 67 System.out.println("------------------------------------------------"); 68 69 System.out.println("Invoking sayHi..."); 70 String resp = port.sayHi(); 71 System.out.println("Server responded with: " + resp + "\n"); 72 73 System.out.println("Invoking greetMe..."); 74 resp = port.greetMe(USER_NAME); 75 System.out.println("Server responded with: " + resp + "\n"); 76 77 System.out.println("Invoking greetMeOneWay..."); 78 port.greetMeOneWay(USER_NAME); 79 System.out.println("No response from server as method is OneWay\n"); 80 81 try { 82 System.out.println("Invoking pingMe, expecting exception..."); 83 port.pingMe(); 84 } catch (PingMeFault ex) { 85 System.out.println("Expected exception occurred: " + ex); 86 } 87 } 88 89 93 private static void explicitPropagation(Greeter port) { 94 System.out.println(); 95 System.out.println("Explicit MessageAddressingProperties propagation"); 96 System.out.println("------------------------------------------------"); 97 98 AddressingBuilder builder = AddressingBuilder.getAddressingBuilder(); 100 AddressingProperties maps = builder.newAddressingProperties(); 101 102 AttributedURIType messageID = 104 WSA_OBJECT_FACTORY.createAttributedURIType(); 105 messageID.setValue("urn:uuid:12345"); 106 maps.setMessageID(messageID); 107 108 Map <String , Object > requestContext = 110 ((BindingProvider)port).getRequestContext(); 111 requestContext.put(CLIENT_ADDRESSING_PROPERTIES, maps); 112 113 System.out.println("Invoking sayHi..."); 114 String resp = port.sayHi(); 115 System.out.println("Server responded with: " + resp + "\n"); 116 117 maps.setMessageID(null); 120 121 RelatesToType relatesTo = WSA_OBJECT_FACTORY.createRelatesToType(); 124 relatesTo.setValue(messageID.getValue()); 125 maps.setRelatesTo(relatesTo); 126 127 System.out.println("Invoking greetMe..."); 128 resp = port.greetMe(USER_NAME); 129 System.out.println("Server responded with: " + resp + "\n"); 130 131 System.out.println("Invoking greetMeOneWay..."); 132 port.greetMeOneWay(USER_NAME); 133 System.out.println("No response from server as method is OneWay\n"); 134 135 requestContext.put(CLIENT_ADDRESSING_PROPERTIES, null); 137 } 138 } 139 | Popular Tags |