1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.cxf;
12
13 import org.mule.DefaultMuleEvent;
14 import org.mule.DefaultMuleMessage;
15 import org.mule.api.MuleEvent;
16 import org.mule.api.MuleMessage;
17 import org.mule.api.MuleSession;
18 import org.mule.api.endpoint.EndpointBuilder;
19 import org.mule.api.endpoint.OutboundEndpoint;
20 import org.mule.endpoint.EndpointURIEndpointBuilder;
21 import org.mule.module.client.MuleClient;
22 import org.mule.session.DefaultMuleSession;
23 import org.mule.tck.junit4.AbstractMuleContextTestCase;
24 import org.mule.transport.AbstractConnector;
25
26 import org.custommonkey.xmlunit.XMLAssert;
27 import org.junit.Test;
28 import org.w3c.dom.Document;
29
30 import static org.junit.Assert.assertNotNull;
31
32 public class CxfWsdlTestCase extends AbstractMuleContextTestCase
33 {
34 public static final String TEST_URL = "wsdl-cxf:http://localhost:8080/mule-tests-external-cxf/services/TestService?WSDL&method=getTest";
35 public static final String TEST_URL_NOWSDL = "wsdl-cxf:http://localhost:8080/mule-tests-external-cxf/services/TestService?method=getTest";
36 public static final String TEST_URL_WSDL = "http://localhost:8080/mule-tests-external-cxf/services/TestService?wsdl";
37
38 @Test
39 public void testCxfWsdlService() throws Exception
40 {
41 MuleClient client = new MuleClient(muleContext);
42
43 MuleMessage message = new DefaultMuleMessage("test1", muleContext);
44 MuleMessage reply = client.send(TEST_URL, message);
45 assertNotNull(reply);
46
47 Document response = (Document) reply.getPayload();
48 assertNotNull(response);
49
50 XMLAssert.assertXpathEvaluatesTo("test1",
51 "//*[namespace-uri()='http://applications.external.tck.mule.org' and local-name()='key']",
52 response);
53 }
54
55
56
57
58
59 @Test
60 public void testCxfWsdlServiceWithEndpointParam() throws Exception
61 {
62 EndpointBuilder endpointBuilder = new EndpointURIEndpointBuilder(TEST_URL_NOWSDL, muleContext);
63 endpointBuilder.setProperty("wsdlUrl", TEST_URL_WSDL);
64
65 OutboundEndpoint endpoint =
66 muleContext.getEndpointFactory().getOutboundEndpoint(endpointBuilder);
67
68 MuleMessage message = new DefaultMuleMessage("test1", muleContext);
69 MuleSession session = new DefaultMuleSession(message,
70 ((AbstractConnector) endpoint.getConnector()).getSessionHandler(), muleContext);
71 MuleEvent event = new DefaultMuleEvent(message, endpoint.getExchangePattern(), session);
72 MuleMessage reply = endpoint.process(event).getMessage();
73
74 assertNotNull(reply);
75
76 Document response = (Document) reply.getPayload();
77 assertNotNull(response);
78
79 XMLAssert.assertXpathEvaluatesTo("test1",
80 "//*[namespace-uri()='http://applications.external.tck.mule.org' and local-name()='key']",
81 response);
82 }
83 }