Search in sources :

Example 1 with Binding

use of javax.xml.ws.Binding in project uavstack by uavorg.

the class JaxWSHookIT method getPort.

/**
 * this is for Client Stub Programming
 *
 * @param t
 * @param s
 * @param args
 * @return
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
public <T> T getPort(T t, Service s, Object[] args) {
    Class<T> clz = null;
    if (Class.class.isAssignableFrom(args[0].getClass())) {
        clz = (Class<T>) args[0];
    } else if (Class.class.isAssignableFrom(args[1].getClass())) {
        clz = (Class<T>) args[1];
    }
    if (clz == null) {
        return t;
    }
    Binding binding = ((BindingProvider) t).getBinding();
    List<Handler> handlerChain = binding.getHandlerChain();
    handlerChain.add(this.handler);
    binding.setHandlerChain(handlerChain);
    final String wsdlLocation = getServiceURL(s);
    T tProxy = JDKProxyInvokeUtil.newProxyInstance(clz.getClassLoader(), new Class[] { clz }, new JDKProxyInvokeHandler<T>(t, new ClientStubProcessor(wsdlLocation.toString(), this.handler)));
    return tProxy;
}
Also used : Binding(javax.xml.ws.Binding) SOAPHandler(javax.xml.ws.handler.soap.SOAPHandler) Handler(javax.xml.ws.handler.Handler) JDKProxyInvokeHandler(com.creditease.monitor.proxy.spi.JDKProxyInvokeHandler) BindingProvider(javax.xml.ws.BindingProvider)

Example 2 with Binding

use of javax.xml.ws.Binding in project cxf by apache.

the class WSSecurityClientTest method testTimestampSignEncrypt.

@Test
public void testTimestampSignEncrypt() throws Exception {
    Bus b = new SpringBusFactory().createBus("org/apache/cxf/systest/ws/security/client.xml");
    BusFactory.setDefaultBus(b);
    final javax.xml.ws.Service svc = javax.xml.ws.Service.create(WSDL_LOC, GREETER_SERVICE_QNAME);
    final Greeter greeter = svc.getPort(TIMESTAMP_SIGN_ENCRYPT_PORT_QNAME, Greeter.class);
    updateAddressPort(greeter, test.getPort());
    // Add a No-Op JAX-WS SoapHandler to the dispatch chain to
    // verify that the SoapHandlerInterceptor can peacefully co-exist
    // with the explicitly configured SAAJOutInterceptor
    // 
    @SuppressWarnings("rawtypes") List<Handler> handlerChain = new ArrayList<>();
    Binding binding = ((BindingProvider) greeter).getBinding();
    TestOutHandler handler = new TestOutHandler();
    handlerChain.add(handler);
    binding.setHandlerChain(handlerChain);
    greeter.sayHi();
    assertTrue("expected Handler.handleMessage() to be called", handler.handleMessageCalledOutbound);
    assertFalse("expected Handler.handleFault() not to be called", handler.handleFaultCalledOutbound);
    ((java.io.Closeable) greeter).close();
    b.shutdown(true);
    BusFactory.setDefaultBus(getStaticBus());
}
Also used : Binding(javax.xml.ws.Binding) SOAPBinding(javax.xml.ws.soap.SOAPBinding) HTTPBinding(javax.xml.ws.http.HTTPBinding) Bus(org.apache.cxf.Bus) ArrayList(java.util.ArrayList) Handler(javax.xml.ws.handler.Handler) Service(javax.xml.ws.Service) BindingProvider(javax.xml.ws.BindingProvider) SpringBusFactory(org.apache.cxf.bus.spring.SpringBusFactory) Greeter(org.apache.hello_world_soap_http.Greeter) Test(org.junit.Test)

Example 3 with Binding

use of javax.xml.ws.Binding in project cxf by apache.

the class EndpointImplTest method testEndpointPublishAfterGetBinding.

@Test
public void testEndpointPublishAfterGetBinding() throws Exception {
    Endpoint endpoint = Endpoint.create(new Hello());
    Binding binding = endpoint.getBinding();
    assertNotNull(binding);
    // CXF-6257
    endpoint.publish("http://localhost:8080/test");
    endpoint.stop();
}
Also used : Binding(javax.xml.ws.Binding) Endpoint(javax.xml.ws.Endpoint) Hello(org.apache.cxf.jaxws.service.Hello) Test(org.junit.Test)

Example 4 with Binding

use of javax.xml.ws.Binding in project cxf by apache.

the class SOAPHandlerInterceptorTest method testGetUnderstoodHeadersReturnsNull.

@Test
public void testGetUnderstoodHeadersReturnsNull() {
    @SuppressWarnings("rawtypes") List<Handler> list = new ArrayList<>();
    list.add(new SOAPHandler<SOAPMessageContext>() {

        public boolean handleMessage(SOAPMessageContext smc) {
            return true;
        }

        public boolean handleFault(SOAPMessageContext smc) {
            return true;
        }

        public Set<QName> getHeaders() {
            return null;
        }

        public void close(MessageContext messageContext) {
        }
    });
    HandlerChainInvoker invoker = new HandlerChainInvoker(list);
    IMocksControl control = createNiceControl();
    Binding binding = control.createMock(Binding.class);
    expect(binding.getHandlerChain()).andReturn(list).anyTimes();
    SoapMessage message = control.createMock(SoapMessage.class);
    Exchange exchange = control.createMock(Exchange.class);
    expect(message.getExchange()).andReturn(exchange).anyTimes();
    expect(message.keySet()).andReturn(new HashSet<>());
    expect(exchange.get(HandlerChainInvoker.class)).andReturn(invoker);
    control.replay();
    SOAPHandlerInterceptor li = new SOAPHandlerInterceptor(binding);
    Set<QName> understood = li.getUnderstoodHeaders();
    assertNotNull(understood);
    assertTrue(understood.isEmpty());
}
Also used : Binding(javax.xml.ws.Binding) Set(java.util.Set) HashSet(java.util.HashSet) QName(javax.xml.namespace.QName) ArrayList(java.util.ArrayList) SOAPHandler(javax.xml.ws.handler.soap.SOAPHandler) Handler(javax.xml.ws.handler.Handler) SoapMessage(org.apache.cxf.binding.soap.SoapMessage) IMocksControl(org.easymock.IMocksControl) Exchange(org.apache.cxf.message.Exchange) HandlerChainInvoker(org.apache.cxf.jaxws.handler.HandlerChainInvoker) SOAPMessageContext(javax.xml.ws.handler.soap.SOAPMessageContext) MessageContext(javax.xml.ws.handler.MessageContext) SOAPMessageContext(javax.xml.ws.handler.soap.SOAPMessageContext) Test(org.junit.Test)

Example 5 with Binding

use of javax.xml.ws.Binding in project cxf by apache.

the class Client method main.

public static void main(String[] args) throws Exception {
    if (args.length == 0) {
        System.out.println("Please specify the WSDL file.");
        System.exit(1);
    }
    URL wsdlURL;
    File wsdlFile = new File(args[0]);
    if (wsdlFile.exists()) {
        wsdlURL = wsdlFile.toURI().toURL();
    } else {
        wsdlURL = new URL(args[0]);
    }
    System.out.println(wsdlURL);
    TestMtomService tms = new TestMtomService(wsdlURL, SERVICE_NAME);
    TestMtomPortType port = (TestMtomPortType) tms.getPort(PORT_NAME, TestMtomPortType.class);
    Binding binding = ((BindingProvider) port).getBinding();
    ((SOAPBinding) binding).setMTOMEnabled(true);
    URL fileURL = Client.class.getResource("/me.bmp");
    File aFile = new File(new URI(fileURL.toString()));
    long fileSize = aFile.length();
    System.out.println("Filesize of me.bmp image is: " + fileSize);
    System.out.println("\nStarting MTOM Test using basic byte array:");
    Holder<String> name = new Holder<String>("Sam");
    Holder<byte[]> param = new Holder<byte[]>();
    param.value = new byte[(int) fileSize];
    InputStream in = fileURL.openStream();
    int len = in.read(param.value);
    while (len < fileSize) {
        len += in.read(param.value, len, (int) (fileSize - len));
    }
    System.out.println("--Sending the me.bmp image to server");
    System.out.println("--Sending a name value of " + name.value);
    port.testByteArray(name, param);
    System.out.println("--Received byte[] back from server, returned size is " + param.value.length);
    System.out.println("--Returned string value is " + name.value);
    Image image = ImageIO.read(new ByteArrayInputStream(param.value));
    System.out.println("--Loaded image from byte[] successfully, hashCode=" + image.hashCode());
    System.out.println("Successfully ran MTOM/byte array demo");
    System.out.println("\nStarting MTOM test with DataHandler:");
    name.value = "Bob";
    Holder<DataHandler> handler = new Holder<DataHandler>();
    handler.value = new DataHandler(fileURL);
    System.out.println("--Sending the me.bmp image to server");
    System.out.println("--Sending a name value of " + name.value);
    port.testDataHandler(name, handler);
    InputStream mtomIn = handler.value.getInputStream();
    fileSize = 0;
    for (int i = mtomIn.read(); i != -1; i = mtomIn.read()) {
        fileSize++;
    }
    System.out.println("--Received DataHandler back from server, " + "returned size is " + fileSize);
    System.out.println("--Returned string value is " + name.value);
    System.out.println("Successfully ran MTOM/DataHandler demo");
    System.exit(0);
}
Also used : Binding(javax.xml.ws.Binding) SOAPBinding(javax.xml.ws.soap.SOAPBinding) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) Holder(javax.xml.ws.Holder) SOAPBinding(javax.xml.ws.soap.SOAPBinding) BindingProvider(javax.xml.ws.BindingProvider) DataHandler(javax.activation.DataHandler) TestMtomPortType(org.apache.cxf.mime.TestMtomPortType) Image(java.awt.Image) TestMtomService(org.apache.cxf.mime.TestMtomService) URI(java.net.URI) URL(java.net.URL) ByteArrayInputStream(java.io.ByteArrayInputStream) File(java.io.File)

Aggregations

Binding (javax.xml.ws.Binding)18 Handler (javax.xml.ws.handler.Handler)11 Test (org.junit.Test)11 ArrayList (java.util.ArrayList)8 QName (javax.xml.namespace.QName)7 BindingProvider (javax.xml.ws.BindingProvider)7 SOAPHandler (javax.xml.ws.handler.soap.SOAPHandler)7 Set (java.util.Set)6 MessageContext (javax.xml.ws.handler.MessageContext)6 SOAPBinding (javax.xml.ws.soap.SOAPBinding)6 SoapMessage (org.apache.cxf.binding.soap.SoapMessage)6 Exchange (org.apache.cxf.message.Exchange)6 HashSet (java.util.HashSet)5 SOAPMessage (javax.xml.soap.SOAPMessage)5 SOAPMessageContext (javax.xml.ws.handler.soap.SOAPMessageContext)5 HandlerChainInvoker (org.apache.cxf.jaxws.handler.HandlerChainInvoker)5 MessageImpl (org.apache.cxf.message.MessageImpl)5 IMocksControl (org.easymock.IMocksControl)5 IOException (java.io.IOException)4 SOAPBodyElement (javax.xml.soap.SOAPBodyElement)4