Search in sources :

Example 66 with Handler

use of javax.xml.ws.handler.Handler in project jbossws-cxf by jbossws.

the class Helper method testCustomClientConfigurationUsingFeature.

public boolean testCustomClientConfigurationUsingFeature() throws Exception {
    QName serviceName = new QName("http://clientConfig.jaxws.ws.test.jboss.org/", "EndpointImplService");
    URL wsdlURL = new URL(address + "?wsdl");
    final String testConfigName = "MyTestConfig";
    try {
        // -- add test client configuration
        TestUtils.addTestCaseClientConfiguration(testConfigName);
        // --
        Service service = Service.create(wsdlURL, serviceName);
        Endpoint port = (Endpoint) service.getPort(Endpoint.class, new ClientConfigFeature(null, testConfigName));
        BindingProvider bp = (BindingProvider) port;
        @SuppressWarnings("rawtypes") List<Handler> hc = bp.getBinding().getHandlerChain();
        hc.add(new UserHandler());
        bp.getBinding().setHandlerChain(hc);
        String resStr = port.echo("Kermit");
        resStr = port.echo("Kermit");
        resStr = port.echo("Kermit");
        return ("Kermit|RoutOut|UserOut|endpoint|UserIn|RoutIn".equals(resStr));
    } finally {
        // -- remove test client configuration --
        TestUtils.removeTestCaseClientConfiguration(testConfigName);
    // --
    }
}
Also used : QName(javax.xml.namespace.QName) ClientConfigFeature(org.jboss.ws.api.configuration.ClientConfigFeature) Service(javax.xml.ws.Service) Handler(javax.xml.ws.handler.Handler) BindingProvider(javax.xml.ws.BindingProvider) URL(java.net.URL)

Example 67 with Handler

use of javax.xml.ws.handler.Handler in project jbossws-cxf by jbossws.

the class Helper method testCustomClientConfigurationFromFileUsingFeatureOnDispatch.

public boolean testCustomClientConfigurationFromFileUsingFeatureOnDispatch() throws Exception {
    final String reqString = "<ns1:echo xmlns:ns1=\"http://clientConfig.jaxws.ws.test.jboss.org/\"><arg0>Kermit</arg0></ns1:echo>";
    QName serviceName = new QName("http://clientConfig.jaxws.ws.test.jboss.org/", "EndpointImplService");
    QName portName = new QName("http://clientConfig.jaxws.ws.test.jboss.org/", "EndpointPort");
    URL wsdlURL = new URL(address + "?wsdl");
    Service service = Service.create(wsdlURL, serviceName);
    Dispatch<Source> dispatch = service.createDispatch(portName, Source.class, Mode.PAYLOAD, new ClientConfigFeature("META-INF/jaxws-client-config.xml", "Custom Client Config"));
    BindingProvider bp = (BindingProvider) dispatch;
    @SuppressWarnings("rawtypes") List<Handler> hc = bp.getBinding().getHandlerChain();
    hc.add(new UserHandler());
    bp.getBinding().setHandlerChain(hc);
    Source resSource = dispatch.invoke(new DOMSource(DOMUtils.parse(reqString)));
    resSource = dispatch.invoke(new DOMSource(DOMUtils.parse(reqString)));
    String resStr = DOMUtils.getTextContent(DOMUtils.sourceToElement(resSource).getElementsByTagName("return").item(0));
    return ("Kermit|RoutOut|CustomOut|UserOut|LogOut|endpoint|LogIn|UserIn|CustomIn|RoutIn".equals(resStr));
}
Also used : DOMSource(javax.xml.transform.dom.DOMSource) QName(javax.xml.namespace.QName) ClientConfigFeature(org.jboss.ws.api.configuration.ClientConfigFeature) Service(javax.xml.ws.Service) Handler(javax.xml.ws.handler.Handler) BindingProvider(javax.xml.ws.BindingProvider) URL(java.net.URL) DOMSource(javax.xml.transform.dom.DOMSource) Source(javax.xml.transform.Source)

Example 68 with Handler

use of javax.xml.ws.handler.Handler in project jbossws-cxf by jbossws.

the class Helper method testSEIClassDefaultFileClientConfiguration.

/**
 * This test hacks the current ServerConfig temporarily adding a test client configuration
 * (named as the Endoint SEI class FQN)- Then it calls the sends messages to the same endpoint,
 * initially using the Endpoint SEI and then using the Endpoint2 SEI. The two port proxies are
 * expected to behave differently because of a default jaxws-client-config.xml descriptor
 * including a configuration for Endpoint2 SEI class FQN. The test eventually removes the test
 * client configuration from the ServerConfig.
 *
 * @return
 * @throws Exception
 */
public boolean testSEIClassDefaultFileClientConfiguration() throws Exception {
    QName serviceName = new QName("http://clientConfig.jaxws.ws.test.jboss.org/", "EndpointImplService");
    URL wsdlURL = new URL(address + "?wsdl");
    final String testConfigName = "org.jboss.test.ws.jaxws.clientConfig.Endpoint";
    try {
        // -- add test client configuration
        TestUtils.addTestCaseClientConfiguration(testConfigName);
        // --
        Service service = Service.create(wsdlURL, serviceName);
        Endpoint port = (Endpoint) service.getPort(Endpoint.class);
        BindingProvider bp = (BindingProvider) port;
        @SuppressWarnings("rawtypes") List<Handler> hc = bp.getBinding().getHandlerChain();
        hc.add(new UserHandler());
        bp.getBinding().setHandlerChain(hc);
        String resStr = port.echo("Kermit");
        resStr = port.echo("Kermit");
        resStr = port.echo("Kermit");
        if (!"Kermit|RoutOut|UserOut|endpoint|UserIn|RoutIn".equals(resStr)) {
            return false;
        }
        Endpoint2 port2 = (Endpoint2) service.getPort(Endpoint2.class);
        bp = (BindingProvider) port2;
        hc = bp.getBinding().getHandlerChain();
        hc.add(new UserHandler());
        bp.getBinding().setHandlerChain(hc);
        resStr = port2.echo("Kermit");
        resStr = port2.echo("Kermit");
        resStr = port2.echo("Kermit");
        return ("Kermit|RoutOut|UserOut|LogOut|endpoint|LogIn|UserIn|RoutIn".equals(resStr));
    } finally {
        // -- remove test client configuration --
        TestUtils.removeTestCaseClientConfiguration(testConfigName);
    // --
    }
}
Also used : QName(javax.xml.namespace.QName) Service(javax.xml.ws.Service) Handler(javax.xml.ws.handler.Handler) BindingProvider(javax.xml.ws.BindingProvider) URL(java.net.URL)

Example 69 with Handler

use of javax.xml.ws.handler.Handler in project jbossws-cxf by jbossws.

the class Helper method testSEIClassDefaultClientConfiguration.

/**
 * This test hacks the current ServerConfig temporarily adding a test client configuration
 * (named as the SEI class FQN), let the container use that for the test client and
 * finally removes it from the ServerConfig.
 *
 * @return
 * @throws Exception
 */
public boolean testSEIClassDefaultClientConfiguration() throws Exception {
    QName serviceName = new QName("http://clientConfig.jaxws.ws.test.jboss.org/", "EndpointImplService");
    URL wsdlURL = new URL(address + "?wsdl");
    final String testConfigName = "org.jboss.test.ws.jaxws.clientConfig.Endpoint";
    try {
        // -- add test client configuration
        TestUtils.addTestCaseClientConfiguration(testConfigName);
        // --
        Service service = Service.create(wsdlURL, serviceName);
        Endpoint port = (Endpoint) service.getPort(Endpoint.class);
        BindingProvider bp = (BindingProvider) port;
        @SuppressWarnings("rawtypes") List<Handler> hc = bp.getBinding().getHandlerChain();
        hc.add(new UserHandler());
        bp.getBinding().setHandlerChain(hc);
        String resStr = port.echo("Kermit");
        resStr = port.echo("Kermit");
        resStr = port.echo("Kermit");
        return ("Kermit|RoutOut|UserOut|endpoint|UserIn|RoutIn".equals(resStr));
    } finally {
        // -- remove test client configuration --
        TestUtils.removeTestCaseClientConfiguration(testConfigName);
    // --
    }
}
Also used : QName(javax.xml.namespace.QName) Service(javax.xml.ws.Service) Handler(javax.xml.ws.handler.Handler) BindingProvider(javax.xml.ws.BindingProvider) URL(java.net.URL)

Example 70 with Handler

use of javax.xml.ws.handler.Handler in project jbossws-cxf by jbossws.

the class Helper method testDefaultClientConfigurationOnDispatch.

public boolean testDefaultClientConfigurationOnDispatch() throws Exception {
    final String reqString = "<ns1:echo xmlns:ns1=\"http://clientConfig.jaxws.ws.test.jboss.org/\"><arg0>Kermit</arg0></ns1:echo>";
    QName serviceName = new QName("http://clientConfig.jaxws.ws.test.jboss.org/", "EndpointImplService");
    QName portName = new QName("http://clientConfig.jaxws.ws.test.jboss.org/", "EndpointPort");
    URL wsdlURL = new URL(address + "?wsdl");
    final ClientConfig defaultClientConfig = TestUtils.getAndVerifyDefaultClientConfiguration();
    // -- modify default conf --
    try {
        TestUtils.changeDefaultClientConfiguration();
        // --
        Service service = Service.create(wsdlURL, serviceName);
        Dispatch<Source> dispatch = service.createDispatch(portName, Source.class, Mode.PAYLOAD);
        BindingProvider bp = (BindingProvider) dispatch;
        @SuppressWarnings("rawtypes") List<Handler> hc = bp.getBinding().getHandlerChain();
        hc.add(new UserHandler());
        bp.getBinding().setHandlerChain(hc);
        Source resSource = dispatch.invoke(new DOMSource(DOMUtils.parse(reqString)));
        resSource = dispatch.invoke(new DOMSource(DOMUtils.parse(reqString)));
        resSource = dispatch.invoke(new DOMSource(DOMUtils.parse(reqString)));
        String resStr = DOMUtils.getTextContent(DOMUtils.sourceToElement(resSource).getElementsByTagName("return").item(0));
        return ("Kermit|UserOut|LogOut|endpoint|LogIn|UserIn".equals(resStr));
    } finally {
        // -- restore default conf --
        TestUtils.setClientConfigAndReload(defaultClientConfig);
    // --
    }
}
Also used : DOMSource(javax.xml.transform.dom.DOMSource) QName(javax.xml.namespace.QName) Service(javax.xml.ws.Service) Handler(javax.xml.ws.handler.Handler) BindingProvider(javax.xml.ws.BindingProvider) URL(java.net.URL) DOMSource(javax.xml.transform.dom.DOMSource) Source(javax.xml.transform.Source) ClientConfig(org.jboss.wsf.spi.metadata.config.ClientConfig)

Aggregations

Handler (javax.xml.ws.handler.Handler)100 QName (javax.xml.namespace.QName)47 ArrayList (java.util.ArrayList)46 BindingProvider (javax.xml.ws.BindingProvider)36 URL (java.net.URL)32 Service (javax.xml.ws.Service)29 Test (org.junit.Test)29 LogicalHandler (javax.xml.ws.handler.LogicalHandler)24 Binding (javax.xml.ws.Binding)11 WebServiceException (javax.xml.ws.WebServiceException)11 MessageContext (javax.xml.ws.handler.MessageContext)9 SOAPHandler (javax.xml.ws.handler.soap.SOAPHandler)9 Exchange (org.apache.cxf.message.Exchange)9 IOException (java.io.IOException)8 SOAPMessageContext (javax.xml.ws.handler.soap.SOAPMessageContext)7 HandlerChainInvoker (org.apache.cxf.jaxws.handler.HandlerChainInvoker)7 DataHandler (javax.activation.DataHandler)6 InitialContext (javax.naming.InitialContext)6 Source (javax.xml.transform.Source)6 DOMSource (javax.xml.transform.dom.DOMSource)6