You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2008/02/14 07:09:41 UTC
svn commit: r627671 - in
/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test:
java/org/apache/servicemix/camel/ws/addressing/
java/org/apache/servicemix/camel/ws/rm/
resources/org/apache/servicemix/camel/ws/addressing/
Author: ffang
Date: Wed Feb 13 22:09:39 2008
New Revision: 627671
URL: http://svn.apache.org/viewvc?rev=627671&view=rev
Log:
[SM-1128] ws-* support - verify and demostrate how ws-addressing is supported
Added:
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/GreeterImpl.java (with props)
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/HeaderVerifier.java (with props)
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/MAPVerifier.java (with props)
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/VerificationCache.java (with props)
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing-hpux.xml (with props)
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing.xml (with props)
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/hello_world.wsdl (with props)
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/server.xml (with props)
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/wsa_interceptors.xml (with props)
Modified:
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/WSAddressingTest.java
servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/rm/WSRMTest.java
Added: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/GreeterImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/GreeterImpl.java?rev=627671&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/GreeterImpl.java (added)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/GreeterImpl.java Wed Feb 13 22:09:39 2008
@@ -0,0 +1,222 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.servicemix.camel.ws.addressing;
+
+import java.util.concurrent.Future;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.annotation.Resource;
+import javax.jws.WebService;
+import javax.xml.ws.AsyncHandler;
+import javax.xml.ws.Response;
+import javax.xml.ws.WebServiceContext;
+
+import org.apache.cxf.ws.addressing.AddressingProperties;
+import org.apache.hello_world_soap_http.BadRecordLitFault;
+import org.apache.hello_world_soap_http.Greeter;
+import org.apache.hello_world_soap_http.NoSuchCodeLitFault;
+import org.apache.hello_world_soap_http.types.BareDocumentResponse;
+import org.apache.hello_world_soap_http.types.ErrorCode;
+import org.apache.hello_world_soap_http.types.GreetMeLaterResponse;
+import org.apache.hello_world_soap_http.types.GreetMeResponse;
+import org.apache.hello_world_soap_http.types.GreetMeSometimeResponse;
+import org.apache.hello_world_soap_http.types.NoSuchCodeLit;
+import org.apache.hello_world_soap_http.types.SayHiResponse;
+import org.apache.hello_world_soap_http.types.TestDocLitFaultResponse;
+import org.apache.hello_world_soap_http.types.TestNillableResponse;
+
+import static org.apache.cxf.ws.addressing.JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND;
+
+
+@WebService(serviceName = "SOAPServiceAddressing",
+ portName = "SoapPort",
+ endpointInterface = "org.apache.hello_world_soap_http.Greeter",
+ targetNamespace = "http://apache.org/hello_world_soap_http",
+ wsdlLocation = "org/apache/servicemix/camel/ws/addressing/hello_world.wsdl")
+public class GreeterImpl implements Greeter, VerificationCache {
+
+ private String verified;
+ /**
+ * Injectable context.
+ */
+ @Resource
+ private WebServiceContext context;
+
+
+ public String greetMe(String me) {
+ System.out.println("\n\n*** GreetMe called with: " + me + "***\n\n");
+ verifyMAPs();
+ return "Hello " + me;
+ }
+
+ public String greetMeLater(long delay) {
+ System.out.println("\n\n*** GreetMeLater called with: " + delay + "***\n\n");
+ if (delay > 0) {
+ try {
+ Thread.sleep(delay);
+ } catch (InterruptedException ex) {
+ // ignore
+ }
+ }
+ verifyMAPs();
+ return "Hello, finally";
+ }
+
+ public void greetMeOneWay(String requestType) {
+ System.out.println("\n\n*** GreetMeOneWay called with: " + requestType + "***\n\n");
+ verifyMAPs();
+ }
+
+ public String sayHi() {
+ verifyMAPs();
+ return "sayHi:Bonjour";
+ }
+
+ public void testDocLitFault(String faultType) throws BadRecordLitFault, NoSuchCodeLitFault {
+ verifyMAPs();
+ if (faultType.equals(BadRecordLitFault.class.getSimpleName())) {
+ throw new BadRecordLitFault("TestBadRecordLit", "BadRecordLitFault");
+ }
+ if (faultType.equals(NoSuchCodeLitFault.class.getSimpleName())) {
+ ErrorCode ec = new ErrorCode();
+ ec.setMajor((short)1);
+ ec.setMinor((short)1);
+ NoSuchCodeLit nscl = new NoSuchCodeLit();
+ nscl.setCode(ec);
+ throw new NoSuchCodeLitFault("TestNoSuchCodeLit", nscl);
+ }
+ }
+
+ public BareDocumentResponse testDocLitBare(String in) {
+ BareDocumentResponse res = new BareDocumentResponse();
+ res.setCompany("Celtix");
+ res.setId(1);
+ return res;
+ }
+
+ private void verifyMAPs() {
+ if (context.getMessageContext() != null) {
+ String property = SERVER_ADDRESSING_PROPERTIES_INBOUND;
+ AddressingProperties maps = (AddressingProperties)
+ context.getMessageContext().get(property);
+ put(WSAddressingTest.verifyMAPs(maps, this));
+ }
+ }
+
+ public String greetMeSometime(String me) {
+ return "greetMeSomeTime:How are you " + me;
+ }
+
+ public Future<?> greetMeSometimeAsync(String requestType,
+ AsyncHandler<GreetMeSometimeResponse> asyncHandler) {
+ return null;
+ /*not called */
+ }
+
+ public Response<GreetMeSometimeResponse> greetMeSometimeAsync(String requestType) {
+ return null;
+ /*not called */
+ }
+
+ public Response<TestDocLitFaultResponse> testDocLitFaultAsync(String faultType) {
+ return null;
+ /*not called */
+ }
+
+ public Future<?> testDocLitFaultAsync(String faultType, AsyncHandler ah) {
+ return null;
+ /*not called */
+ }
+
+ public Future<?> testDocLitBareAsync(String bare, AsyncHandler ah) {
+ return null;
+ /* not called */
+ }
+
+ public Response<BareDocumentResponse> testDocLitBareAsync(String bare) {
+ return null;
+ /* not called */
+ }
+
+ public Future<?> greetMeAsync(String requestType, AsyncHandler<GreetMeResponse> asyncHandler) {
+ return null;
+ /*not called */
+ }
+
+ public Response<GreetMeResponse> greetMeAsync(String requestType) {
+ return null;
+ /*not called */
+ }
+
+ public Future<?> greetMeLaterAsync(long requestType, AsyncHandler<GreetMeLaterResponse> asyncHandler) {
+ return null;
+ /*not called */
+ }
+
+ public Response<GreetMeLaterResponse> greetMeLaterAsync(long requestType) {
+ return null;
+ /*not called */
+ }
+
+ public Future<?> sayHiAsync(AsyncHandler<SayHiResponse> asyncHandler) {
+ return null;
+ /*not called */
+ }
+
+ public Response<SayHiResponse> sayHiAsync() {
+ return null;
+ /*not called */
+ }
+
+ public String testNillable(String nillElem, int intElem) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Response<TestNillableResponse> testNillableAsync(String nillElem,
+ int intElem) {
+ return null;
+ }
+
+ public Future<?> testNillableAsync(String nillElem,
+ int intElem,
+ AsyncHandler<TestNillableResponse> asyncHandler) {
+ return null;
+ }
+
+ protected boolean verify(Logger log) {
+ if (verified != null) {
+ System.out.println("MAP/Header verification failed: " + verified);
+ log.log(Level.WARNING,
+ "MAP/Header verification failed: {0}",
+ verified);
+ }
+ return verified == null;
+ }
+
+
+ public void put(String verification) {
+ if (verification != null) {
+ verified = verified == null
+ ? verification
+ : verified + "; " + verification;
+ }
+ }
+}
+
+
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/GreeterImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/GreeterImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/HeaderVerifier.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/HeaderVerifier.java?rev=627671&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/HeaderVerifier.java (added)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/HeaderVerifier.java Wed Feb 13 22:09:39 2008
@@ -0,0 +1,226 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.servicemix.camel.ws.addressing;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPException;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+import org.apache.cxf.binding.soap.SoapMessage;
+import org.apache.cxf.binding.soap.SoapVersion;
+import org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor;
+import org.apache.cxf.headers.Header;
+import org.apache.cxf.helpers.DOMUtils;
+import org.apache.cxf.phase.Phase;
+import org.apache.cxf.ws.addressing.AddressingProperties;
+import org.apache.cxf.ws.addressing.AttributedURIType;
+import org.apache.cxf.ws.addressing.ContextUtils;
+import org.apache.cxf.ws.addressing.Names;
+import org.apache.cxf.ws.addressing.soap.VersionTransformer;
+import org.apache.cxf.ws.addressing.v200408.AttributedURI;
+
+import static org.apache.cxf.ws.addressing.JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES_INBOUND;
+import static org.apache.cxf.ws.addressing.JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_OUTBOUND;
+
+
+/**
+ * Verifies presence of expected SOAP headers.
+ */
+public class HeaderVerifier extends AbstractSoapInterceptor {
+ VerificationCache verificationCache = new GreeterImpl();
+ String currentNamespaceURI;
+
+ public HeaderVerifier() {
+ super(Phase.POST_PROTOCOL);
+ }
+
+ public Set<QName> getUnderstoodHeaders() {
+ return Names.HEADERS;
+ }
+
+ public void handleMessage(SoapMessage message) {
+ mediate(message);
+ }
+
+ public void handleFault(SoapMessage message) {
+ mediate(message);
+ }
+
+ private void mediate(SoapMessage message) {
+ boolean outgoingPartialResponse = isOutgoingPartialResponse(message);
+ if (outgoingPartialResponse) {
+ addPartialResponseHeader(message);
+ }
+ verify(message, outgoingPartialResponse);
+ }
+
+ private void addPartialResponseHeader(SoapMessage message) {
+ try {
+ // add piggybacked wsa:From header to partial response
+ List<Header> header = message.getHeaders();
+ Document doc = DOMUtils.createDocument();
+ SoapVersion ver = message.getVersion();
+ Element hdr = doc.createElementNS(ver.getHeader().getNamespaceURI(),
+ ver.getHeader().getLocalPart());
+ hdr.setPrefix(ver.getHeader().getPrefix());
+
+ marshallFrom("urn:piggyback_responder", hdr, getMarshaller());
+ NodeList nl = hdr.getChildNodes();
+ for (int i = 0; i < nl.getLength(); i++) {
+ Object obj = nl.item(i);
+ if (obj instanceof Element) {
+ Element elem = (Element) obj;
+ Header holder = new Header(
+ new QName(elem.getNamespaceURI(), elem.getLocalName()),
+ elem, null);
+ header.add(holder);
+ }
+ }
+
+ } catch (Exception e) {
+ verificationCache.put("SOAP header addition failed: " + e);
+ e.printStackTrace();
+ }
+ }
+
+ private void verify(SoapMessage message, boolean outgoingPartialResponse) {
+ try {
+ List<String> wsaHeaders = new ArrayList<String>();
+ List<Header> headers = message.getHeaders();
+ if (headers != null) {
+ recordWSAHeaders(headers,
+ wsaHeaders,
+ Names.WSA_NAMESPACE_NAME);
+ recordWSAHeaders(headers,
+ wsaHeaders,
+ VersionTransformer.Names200408.WSA_NAMESPACE_NAME);
+ recordWSAHeaders(headers,
+ wsaHeaders,
+ WSAddressingTest.CUSTOMER_NAME.getNamespaceURI());
+ }
+ boolean partialResponse = isIncomingPartialResponse(message)
+ || outgoingPartialResponse;
+ verificationCache.put(WSAddressingTest.verifyHeaders(wsaHeaders,
+ partialResponse,
+ isRequestLeg(message)));
+ } catch (SOAPException se) {
+ verificationCache.put("SOAP header verification failed: " + se);
+ }
+ }
+
+ private void recordWSAHeaders(List<Header> headers,
+ List<String> wsaHeaders,
+ String namespaceURI) {
+ Iterator<Header> iter = headers.iterator();
+ while (iter.hasNext()) {
+ Object obj = iter.next().getObject();
+ if (obj instanceof Element) {
+ Element hdr = (Element) obj;
+ if (namespaceURI.equals(hdr.getNamespaceURI())) {
+ if (namespaceURI.endsWith("addressing")) {
+ currentNamespaceURI = namespaceURI;
+ wsaHeaders.add(hdr.getLocalName());
+ } else if (WSAddressingTest.CUSTOMER_NAME.getNamespaceURI().equals(namespaceURI)) {
+ String headerText = hdr.getTextContent();
+ if (WSAddressingTest.CUSTOMER_KEY.equals(headerText)) {
+ wsaHeaders.add(hdr.getLocalName());
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ private boolean isRequestLeg(SoapMessage message) {
+ return (ContextUtils.isRequestor(message) && ContextUtils.isOutbound(message))
+ || (!ContextUtils.isRequestor(message) && !ContextUtils.isOutbound(message));
+ }
+
+ private boolean isOutgoingPartialResponse(SoapMessage message) {
+ AddressingProperties maps =
+ (AddressingProperties)message.get(SERVER_ADDRESSING_PROPERTIES_OUTBOUND);
+ return ContextUtils.isOutbound(message)
+ && !ContextUtils.isRequestor(message)
+ && maps != null
+ && Names.WSA_ANONYMOUS_ADDRESS.equals(maps.getTo().getValue());
+ }
+
+ private boolean isIncomingPartialResponse(SoapMessage message)
+ throws SOAPException {
+ AddressingProperties maps =
+ (AddressingProperties)message.get(CLIENT_ADDRESSING_PROPERTIES_INBOUND);
+ return !ContextUtils.isOutbound(message)
+ && ContextUtils.isRequestor(message)
+ && maps != null
+ && Names.WSA_ANONYMOUS_ADDRESS.equals(maps.getTo().getValue());
+ }
+
+ private Marshaller getMarshaller() throws JAXBException {
+ JAXBContext jaxbContext =
+ VersionTransformer.getExposedJAXBContext(currentNamespaceURI);
+ Marshaller marshaller = jaxbContext.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
+ return marshaller;
+ }
+
+ private void marshallFrom(String from, Element header, Marshaller marshaller)
+ throws JAXBException {
+ if (Names.WSA_NAMESPACE_NAME.equals(currentNamespaceURI)) {
+ String u = "urn:piggyback_responder";
+ AttributedURIType value =
+ org.apache.cxf.ws.addressing.ContextUtils.getAttributedURI(u);
+ marshaller.marshal(
+ new JAXBElement<AttributedURIType>(Names.WSA_FROM_QNAME,
+ AttributedURIType.class,
+ value),
+ header);
+ } else if (VersionTransformer.Names200408.WSA_NAMESPACE_NAME.equals(
+ currentNamespaceURI)) {
+ AttributedURI value =
+ VersionTransformer.Names200408.WSA_OBJECT_FACTORY.createAttributedURI();
+ value.setValue(from);
+ QName qname = new QName(VersionTransformer.Names200408.WSA_NAMESPACE_NAME,
+ Names.WSA_FROM_NAME);
+ marshaller.marshal(
+ new JAXBElement<AttributedURI>(qname,
+ AttributedURI.class,
+ value),
+ header);
+ }
+ }
+
+ public void setVerificationCache(VerificationCache cache) {
+ verificationCache = cache;
+ }
+
+
+}
+
+
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/HeaderVerifier.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/HeaderVerifier.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/MAPVerifier.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/MAPVerifier.java?rev=627671&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/MAPVerifier.java (added)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/MAPVerifier.java Wed Feb 13 22:09:39 2008
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.servicemix.camel.ws.addressing;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.cxf.message.Message;
+import org.apache.cxf.phase.AbstractPhaseInterceptor;
+import org.apache.cxf.phase.Phase;
+import org.apache.cxf.ws.addressing.AddressingPropertiesImpl;
+import org.apache.cxf.ws.addressing.ContextUtils;
+import org.apache.cxf.ws.addressing.Names;
+
+import static org.apache.cxf.ws.addressing.JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES_INBOUND;
+import static org.apache.cxf.ws.addressing.JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES_OUTBOUND;
+
+
+/**
+ * Verifies presence of MAPs in the context.
+ */
+public class MAPVerifier extends AbstractPhaseInterceptor<Message> {
+ VerificationCache verificationCache = new GreeterImpl();
+ List<String> expectedExposedAs = new ArrayList<String>();
+ private Map<String, Object> mapProperties;
+
+ public MAPVerifier() {
+ super(Phase.POST_LOGICAL);
+ mapProperties = new HashMap<String, Object>();
+ mapProperties.put(WSAddressingTest.INBOUND_KEY, CLIENT_ADDRESSING_PROPERTIES_INBOUND);
+ mapProperties.put(WSAddressingTest.OUTBOUND_KEY, CLIENT_ADDRESSING_PROPERTIES_OUTBOUND);
+ }
+
+ public void handleMessage(Message message) {
+ verify(message);
+ }
+
+ public void handleFault(Message message) {
+ verify(message);
+ }
+
+ private void verify(Message message) {
+ boolean isOutbound = ContextUtils.isOutbound(message);
+ String mapProperty =
+ (String)mapProperties.get(isOutbound
+ ? WSAddressingTest.OUTBOUND_KEY
+ : WSAddressingTest.INBOUND_KEY);
+ AddressingPropertiesImpl maps =
+ (AddressingPropertiesImpl)message.get(mapProperty);
+ if (ContextUtils.isRequestor(message)) {
+ if (isOutbound) {
+ String exposeAs = getExpectedExposeAs(false);
+ if (exposeAs != null) {
+ maps.exposeAs(exposeAs);
+ }
+ } else {
+ String exposeAs = getExpectedExposeAs(true);
+ String expected = exposeAs != null
+ ? exposeAs
+ : Names.WSA_NAMESPACE_NAME;
+ if (maps.getNamespaceURI() != expected) {
+ verificationCache.put("Incoming version mismatch"
+ + " expected: " + expected
+ + " got: " + maps.getNamespaceURI());
+ }
+ exposeAs = null;
+ }
+ }
+ verificationCache.put(WSAddressingTest.verifyMAPs(maps, this));
+ }
+
+ private String getExpectedExposeAs(boolean remove) {
+ int size = expectedExposedAs.size();
+ return size == 0
+ ? null
+ : remove
+ ? expectedExposedAs.remove(size - 1)
+ : expectedExposedAs.get(size - 1);
+ }
+
+ public void setVerificationCache(VerificationCache cache) {
+ verificationCache = cache;
+ }
+
+ public void addToExpectedExposedAs(String str) {
+ expectedExposedAs.add(str);
+ }
+}
+
+
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/MAPVerifier.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/MAPVerifier.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/VerificationCache.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/VerificationCache.java?rev=627671&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/VerificationCache.java (added)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/VerificationCache.java Wed Feb 13 22:09:39 2008
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.servicemix.camel.ws.addressing;
+
+public interface VerificationCache {
+ void put(String verification);
+}
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/VerificationCache.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/VerificationCache.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/WSAddressingTest.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/WSAddressingTest.java?rev=627671&r1=627670&r2=627671&view=diff
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/WSAddressingTest.java (original)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/addressing/WSAddressingTest.java Wed Feb 13 22:09:39 2008
@@ -16,10 +16,373 @@
*/
package org.apache.servicemix.camel.ws.addressing;
+import java.lang.reflect.UndeclaredThrowableException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.namespace.QName;
+
+import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.cxf.transport.CamelTransportFactory;
+import org.apache.camel.spring.SpringCamelContext;
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.endpoint.ServerImpl;
+import org.apache.cxf.interceptor.Interceptor;
+import org.apache.cxf.jaxws.ServiceImpl;
+import org.apache.cxf.jaxws.support.ServiceDelegateAccessor;
+import org.apache.cxf.transport.ConduitInitiatorManager;
+import org.apache.cxf.ws.addressing.AddressingProperties;
+import org.apache.cxf.ws.addressing.ContextUtils;
+import org.apache.cxf.ws.addressing.EndpointReferenceType;
+import org.apache.cxf.ws.addressing.Names;
+import org.apache.cxf.ws.addressing.ReferenceParametersType;
+import org.apache.cxf.ws.addressing.VersionTransformer;
+import org.apache.cxf.wsdl.EndpointReferenceUtils;
+import org.apache.hello_world_soap_http.BadRecordLitFault;
+import org.apache.hello_world_soap_http.Greeter;
+import org.apache.hello_world_soap_http.NoSuchCodeLitFault;
+import org.apache.hello_world_soap_http.SOAPService;
+import org.apache.servicemix.camel.ServiceMixComponent;
+import org.apache.servicemix.nmr.api.NMR;
+import org.apache.servicemix.nmr.core.ServiceMix;
+import org.springframework.context.support.AbstractXmlApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+public class WSAddressingTest extends ContextTestSupport implements VerificationCache {
+
+
+
+ protected static final String SERVICE_ADDRESS = "local://smx/hello_world";
+
+ static final String INBOUND_KEY = "inbound";
+ static final String OUTBOUND_KEY = "outbound";
+ static final String ADDRESS = "http://localhost:9008/SoapContext/SoapPort";
+ static final QName CUSTOMER_NAME =
+ new QName("http://example.org/customer", "CustomerKey", "customer");
+ static final String CUSTOMER_KEY = "Key#123456789";
+
+ private static Bus staticBus;
+
+
+ private static MAPVerifier mapVerifier;
+ private static HeaderVerifier headerVerifier;
+
+ private static final QName SERVICE_NAME =
+ new QName("http://apache.org/hello_world_soap_http", "SOAPServiceAddressing");
+
+ private static final java.net.URL WSDL_LOC;
+ private static final String CONFIG;
+
+
+ private static Map<Object, Map<String, String>> messageIDs =
+ new HashMap<Object, Map<String, String>>();
+ protected Greeter greeter;
+ private String verified;
+
+
+ protected AbstractXmlApplicationContext applicationContext;
+
+
+ private ServerImpl server;
+ private CamelContext camelContext;
+ private ServiceMixComponent smxComponent;
+ private NMR nmr;
+ private Bus bus;
+
+ static {
+ CONFIG = "org/apache/servicemix/camel/ws/addressing/addressing"
+ + (("HP-UX".equals(System.getProperty("os.name"))
+ || "Windows XP".equals(System.getProperty("os.name"))) ? "-hpux" : "")
+ + ".xml";
+
+ java.net.URL tmp = null;
+ try {
+ tmp = WSAddressingTest.class.getClassLoader().getResource(
+ "org/apache/servicemix/camel/ws/addressing/hello_world.wsdl"
+ );
+ } catch (final Exception e) {
+ e.printStackTrace();
+ }
+ WSDL_LOC = tmp;
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ applicationContext = createApplicationContext();
+ super.setUp();
+ startService();
+
+ if (staticBus == null) {
+ SpringBusFactory bf = new SpringBusFactory();
+ staticBus = bf.createBus(getConfigFileName());
+ }
+ messageIDs.clear();
+ mapVerifier = new MAPVerifier();
+ headerVerifier = new HeaderVerifier();
+ Interceptor[] interceptors = {mapVerifier, headerVerifier };
+ addInterceptors(staticBus.getInInterceptors(), interceptors);
+ addInterceptors(staticBus.getOutInterceptors(), interceptors);
+ addInterceptors(staticBus.getOutFaultInterceptors(), interceptors);
+ addInterceptors(staticBus.getInFaultInterceptors(), interceptors);
+
+ EndpointReferenceType target =
+ EndpointReferenceUtils.getEndpointReference(ADDRESS);
+ ReferenceParametersType params =
+ ContextUtils.WSA_OBJECT_FACTORY.createReferenceParametersType();
+ JAXBElement<String> param =
+ new JAXBElement<String>(CUSTOMER_NAME, String.class, CUSTOMER_KEY);
+ params.getAny().add(param);
+ target.setReferenceParameters(params);
+
+ ServiceImpl serviceImpl =
+ ServiceDelegateAccessor.get(new SOAPService(WSDL_LOC, SERVICE_NAME));
+ greeter = serviceImpl.getPort(target, Greeter.class);
+
+ mapVerifier.verificationCache = this;
+ headerVerifier.verificationCache = this;
+
+ }
+
+
+
+ protected void startService() {
+ Object implementor = new GreeterImpl();
+ javax.xml.ws.Endpoint.publish(SERVICE_ADDRESS, implementor);
+
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ if (applicationContext != null) {
+ applicationContext.destroy();
+ }
+ if (server != null) {
+ server.stop();
+ }
+ Interceptor[] interceptors = {mapVerifier, headerVerifier };
+ removeInterceptors(staticBus.getInInterceptors(), interceptors);
+ removeInterceptors(staticBus.getOutInterceptors(), interceptors);
+ removeInterceptors(staticBus.getOutFaultInterceptors(), interceptors);
+ removeInterceptors(staticBus.getInFaultInterceptors(), interceptors);
+ mapVerifier = null;
+ headerVerifier = null;
+ verified = null;
+ messageIDs.clear();
+ }
+
+ protected RouteBuilder createRouteBuilder() {
+ return new RouteBuilder() {
+ public void configure() {
+ from("cxf:bean:routerEndpoint").to("smx:testEndpoint");
+ from("smx:testEndpoint").to("cxf:bean:serviceEndpoint");
+ }
+ };
+ }
+
+ protected CamelContext createCamelContext() throws Exception {
+ camelContext = SpringCamelContext.springCamelContext(applicationContext);
+ SpringBusFactory bf = new SpringBusFactory();
+ bus = bf.createBus(getConfigFileName());
+ BusFactory.setDefaultBus(bus);
+ CamelTransportFactory camelTransportFactory = (CamelTransportFactory) bus.getExtension(ConduitInitiatorManager.class)
+ .getConduitInitiator(CamelTransportFactory.TRANSPORT_ID);
+ camelTransportFactory.setCamelContext(camelContext);
+ smxComponent = new ServiceMixComponent();
+ nmr = new ServiceMix();
+ ((ServiceMix)nmr).init();
+ smxComponent.setNmr(nmr);
+ camelContext.addComponent("smx", smxComponent);
+ return camelContext;
+ }
+
+ protected ClassPathXmlApplicationContext createApplicationContext() {
+ return new ClassPathXmlApplicationContext("org/apache/servicemix/camel/ws/addressing/server.xml");
+ }
+
+
+ public void testImplicitMAPs() throws Exception {
+ try {
+ String greeting = greeter.greetMe("implicit1");
+ assertEquals("unexpected response received from service",
+ "Hello implicit1",
+ greeting);
+ checkVerification();
+ greeting = greeter.greetMe("implicit2");
+ assertEquals("unexpected response received from service",
+ "Hello implicit2",
+ greeting);
+ checkVerification();
+ } catch (UndeclaredThrowableException ex) {
+ throw (Exception)ex.getCause();
+ }
+ }
+
+
+
+
+ public void testOneway() throws Exception {
+ try {
+ greeter.greetMeOneWay("implicit_oneway1");
+ checkVerification();
+ } catch (UndeclaredThrowableException ex) {
+ throw (Exception)ex.getCause();
+ }
+ }
+
+ public void testApplicationFault() throws Exception {
+ try {
+ greeter.testDocLitFault("BadRecordLitFault");
+ fail("expected fault from service");
+ } catch (BadRecordLitFault brlf) {
+ checkVerification();
+ } catch (UndeclaredThrowableException ex) {
+ throw (Exception)ex.getCause();
+ }
+ String greeting = greeter.greetMe("intra-fault");
+ assertEquals("unexpected response received from service",
+ "Hello intra-fault",
+ greeting);
+ try {
+ greeter.testDocLitFault("NoSuchCodeLitFault");
+ fail("expected NoSuchCodeLitFault");
+ } catch (NoSuchCodeLitFault nsclf) {
+ checkVerification();
+ } catch (UndeclaredThrowableException ex) {
+ throw (Exception)ex.getCause();
+ }
+ }
+
+
+ public void testVersioning() throws Exception {
+ try {
+ // expect two MAPs instances versioned with 200408, i.e. for both
+ // the partial and full responses
+ mapVerifier.expectedExposedAs.add(VersionTransformer.Names200408.WSA_NAMESPACE_NAME);
+ mapVerifier.expectedExposedAs.add(VersionTransformer.Names200408.WSA_NAMESPACE_NAME);
+ String greeting = greeter.greetMe("versioning1");
+ assertEquals("unexpected response received from service",
+ "Hello versioning1",
+ greeting);
+ checkVerification();
+ greeting = greeter.greetMe("versioning2");
+ assertEquals("unexpected response received from service",
+ "Hello versioning2",
+ greeting);
+ checkVerification();
+ } catch (UndeclaredThrowableException ex) {
+ throw (Exception)ex.getCause();
+ }
+ }
+
+ protected static String verifyMAPs(AddressingProperties maps,
+ Object checkPoint) {
+ if (maps == null) {
+ return "expected MAPs";
+ }
+ String id = maps.getMessageID().getValue();
+ if (id == null) {
+ return "expected MessageID MAP";
+ }
+ if (!id.startsWith("urn:uuid")) {
+ return "bad URN format in MessageID MAP: " + id;
+ }
+ // ensure MessageID is unique for this check point
+ Map<String, String> checkPointMessageIDs = messageIDs.get(checkPoint);
+ if (checkPointMessageIDs != null) {
+ if (checkPointMessageIDs.containsKey(id)) {
+ // return "MessageID MAP duplicate: " + id;
+ return null;
+ }
+ } else {
+ checkPointMessageIDs = new HashMap<String, String>();
+ messageIDs.put(checkPoint, checkPointMessageIDs);
+ }
+ checkPointMessageIDs.put(id, id);
+ // To
+ if (maps.getTo() == null) {
+ return "expected To MAP";
+ }
+ return null;
+ }
+
+ public String getConfigFileName() {
+ return CONFIG;
+ }
+
+ public static void shutdownBus() throws Exception {
+ staticBus.shutdown(true);
+ }
+
+ private void addInterceptors(List<Interceptor> chain,
+ Interceptor[] interceptors) {
+ for (int i = 0; i < interceptors.length; i++) {
+ chain.add(interceptors[i]);
+ }
+ }
+
+ private void removeInterceptors(List<Interceptor> chain,
+ Interceptor[] interceptors) {
+ for (int i = 0; i < interceptors.length; i++) {
+ chain.add(interceptors[i]);
+ }
+ }
+
+ public void put(String verification) {
+ if (verification != null) {
+ verified = verified == null
+ ? verification
+ : verified + "; " + verification;
+ }
+ }
+
+ /**
+ * Verify presence of expected MAP headers.
+ *
+ * @param wsaHeaders a list of the wsa:* headers present in the SOAP
+ * message
+ * @param parial true if partial response
+ * @return null if all expected headers present, otherwise an error string.
+ */
+ protected static String verifyHeaders(List<String> wsaHeaders,
+ boolean partial,
+ boolean requestLeg) {
+
+ String ret = null;
+ if (!wsaHeaders.contains(Names.WSA_MESSAGEID_NAME)) {
+ ret = "expected MessageID header";
+ }
+ if (!wsaHeaders.contains(Names.WSA_TO_NAME)) {
+ ret = "expected To header";
+ }
+
+ if (!(wsaHeaders.contains(Names.WSA_REPLYTO_NAME)
+ || wsaHeaders.contains(Names.WSA_RELATESTO_NAME))) {
+ ret = "expected ReplyTo or RelatesTo header";
+ }
+ if (partial) {
+ if (!wsaHeaders.contains(Names.WSA_FROM_NAME)) {
+ //ret = "expected From header";
+ }
+ } else {
+ // REVISIT Action missing from full response
+ //if (!wsaHeaders.contains(Names.WSA_ACTION_NAME)) {
+ // ret = "expected Action header";
+ //}
+ }
+ if (requestLeg && !(wsaHeaders.contains(CUSTOMER_NAME.getLocalPart()))) {
+ ret = "expected CustomerKey header";
+ }
+ return ret;
+ }
+
+ private void checkVerification() {
+ assertNull("MAP/Header verification failed: " + verified, verified);
+ }
-public class WSAddressingTest extends ContextTestSupport {
- public void testAddressing() throws Exception {
- //ws-addressing is in progress
- }
}
Modified: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/rm/WSRMTest.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/rm/WSRMTest.java?rev=627671&r1=627670&r2=627671&view=diff
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/rm/WSRMTest.java (original)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/java/org/apache/servicemix/camel/ws/rm/WSRMTest.java Wed Feb 13 22:09:39 2008
@@ -115,7 +115,7 @@
return new ClassPathXmlApplicationContext("org/apache/servicemix/camel/ws/rm/server.xml");
}
- //ws-rm is in progress
+
public void testDecoupled() throws Exception {
SpringBusFactory bf = new SpringBusFactory();
bus = bf.createBus("/org/apache/servicemix/camel/ws/rm/decoupled.xml");
Added: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing-hpux.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing-hpux.xml?rev=627671&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing-hpux.xml (added)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing-hpux.xml Wed Feb 13 22:09:39 2008
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:http="http://cxf.apache.org/transports/http/configuration"
+ xsi:schemaLocation="
+http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <http:conduit name="{http://apache.org/hello_world_soap_http}SoapPort.http-conduit">
+ <http:client Connection="Keep-Alive" DecoupledEndpoint="http://localhost:9999/decoupled_endpoint"/>
+ </http:conduit>
+
+ <import resource="wsa_interceptors.xml"/>
+</beans>
+
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing-hpux.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing-hpux.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing-hpux.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing.xml?rev=627671&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing.xml (added)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing.xml Wed Feb 13 22:09:39 2008
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:http="http://cxf.apache.org/transports/http/configuration"
+ xsi:schemaLocation="
+http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <http:conduit name="{http://apache.org/hello_world_soap_http}SoapPort.http-conduit">
+ <http:client DecoupledEndpoint="http://localhost:9999/decoupled_endpoint"/>
+ </http:conduit>
+
+ <import resource="wsa_interceptors.xml"/>
+</beans>
+
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/addressing.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/hello_world.wsdl
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/hello_world.wsdl?rev=627671&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/hello_world.wsdl (added)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/hello_world.wsdl Wed Feb 13 22:09:39 2008
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://apache.org/hello_world_soap_http"
+ xmlns:x1="http://apache.org/hello_world_soap_http/types"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://apache.org/hello_world_soap_http" name="HelloWorld">
+ <wsdl:types>
+ <schema targetNamespace="http://apache.org/hello_world_soap_http/types" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:x1="http://apache.org/hello_world_soap_http/types"> <!--elementFormDefault="qualified"-->
+ <element name="sayHi">
+ <complexType/>
+ </element>
+ <element name="sayHiResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMe">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="testNillable">
+ <complexType>
+ <sequence>
+ <element name="NillElem" nillable="true" type="string"/>
+ <element name="intElem" type="int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="testNillableResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" nillable="true" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="greetMeLater">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="long"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeLaterResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeSometime">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeSometimeResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeOneWay">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="testDocLitFault">
+ <complexType>
+ <sequence>
+ <element name="faultType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="testDocLitFaultResponse">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <complexType name="ErrorCode">
+ <sequence>
+ <element name="minor" type="short"/>
+ <element name="major" type="short"/>
+ </sequence>
+ </complexType>
+ <element name="NoSuchCodeLit">
+ <complexType>
+ <sequence>
+ <element name="code" type="x1:ErrorCode"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="BadRecordLit" type="string"/>
+ <complexType name="BadRecord">
+ <sequence>
+ <element name="reason" type="string"/>
+ <element name="code" type="short"/>
+ </sequence>
+ </complexType>
+ <complexType name="addNumbers">
+ <sequence>
+ <element name="arg0" type="int"/>
+ <element name="arg1" type="int"/>
+ </sequence>
+ </complexType>
+ <element name="addNumbers" type="x1:addNumbers"/>
+ <complexType name="addNumbersResponse">
+ <sequence>
+ <element name="return" type="int"/>
+ </sequence>
+ </complexType>
+ <element name="addNumbersResponse" type="x1:addNumbersResponse"/>
+ <complexType name="stringStruct">
+ <sequence>
+ <element name="arg0" type="string"/>
+ <element name="arg1" type="string"/>
+ </sequence>
+ </complexType>
+ <element name="BareDocument" type="string"/>
+ <element name="BareDocumentResponse">
+ <complexType>
+ <sequence>
+ <element name="company" type="string"/>
+ </sequence>
+ <attribute name="id" type="int"/>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+ <wsdl:message name="sayHiRequest">
+ <wsdl:part name="in" element="x1:sayHi"/>
+ </wsdl:message>
+ <wsdl:message name="sayHiResponse">
+ <wsdl:part name="out" element="x1:sayHiResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeRequest">
+ <wsdl:part name="in" element="x1:greetMe"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeResponse">
+ <wsdl:part name="out" element="x1:greetMeResponse"/>
+ </wsdl:message>
+ <wsdl:message name="testNillableRequest">
+ <wsdl:part name="in" element="x1:testNillable"/>
+ </wsdl:message>
+ <wsdl:message name="testNillableResponse">
+ <wsdl:part name="out" element="x1:testNillableResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeLaterRequest">
+ <wsdl:part name="in" element="x1:greetMeLater"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeLaterResponse">
+ <wsdl:part name="out" element="x1:greetMeLaterResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeSometimeRequest">
+ <wsdl:part name="in" element="x1:greetMeSometime"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeSometimeResponse">
+ <wsdl:part name="out" element="x1:greetMeSometimeResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeOneWayRequest">
+ <wsdl:part name="in" element="x1:greetMeOneWay"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitFaultRequest">
+ <wsdl:part name="in" element="x1:testDocLitFault"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitFaultResponse">
+ <wsdl:part name="out" element="x1:testDocLitFaultResponse"/>
+ </wsdl:message>
+ <wsdl:message name="NoSuchCodeLitFault">
+ <wsdl:part name="NoSuchCodeLit" element="x1:NoSuchCodeLit"/>
+ </wsdl:message>
+ <wsdl:message name="BadRecordLitFault">
+ <wsdl:part name="BadRecordLit" element="x1:BadRecordLit"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitBareRequest">
+ <wsdl:part name="in" element="x1:BareDocument"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitBareResponse">
+ <wsdl:part name="out" element="x1:BareDocumentResponse"/>
+ </wsdl:message>
+ <wsdl:portType name="Greeter">
+ <wsdl:operation name="sayHi">
+ <wsdl:input name="sayHiRequest" message="tns:sayHiRequest"/>
+ <wsdl:output name="sayHiResponse" message="tns:sayHiResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMe">
+ <wsdl:input name="greetMeRequest" message="tns:greetMeRequest"/>
+ <wsdl:output name="greetMeResponse" message="tns:greetMeResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="testNillable">
+ <wsdl:input name="testNillableRequest" message="tns:testNillableRequest"/>
+ <wsdl:output name="testNillableResponse" message="tns:testNillableResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeLater">
+ <wsdl:input name="greetMeLaterRequest" message="tns:greetMeLaterRequest"/>
+ <wsdl:output name="greetMeLaterResponse" message="tns:greetMeLaterResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeSometime">
+ <wsdl:input name="greetMeSometimeRequest" message="tns:greetMeSometimeRequest"/>
+ <wsdl:output name="greetMeSometimeResponse" message="tns:greetMeSometimeResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeOneWay">
+ <wsdl:input name="greetMeOneWayRequest" message="tns:greetMeOneWayRequest"/>
+ </wsdl:operation>
+ <wsdl:operation name="testDocLitFault">
+ <wsdl:input name="testDocLitFaultRequest" message="tns:testDocLitFaultRequest"/>
+ <wsdl:output name="testDocLitFaultResponse" message="tns:testDocLitFaultResponse"/>
+ <wsdl:fault name="NoSuchCodeLitFault" message="tns:NoSuchCodeLitFault"/>
+ <wsdl:fault name="BadRecordLitFault" message="tns:BadRecordLitFault"/>
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:portType name="DocLitBare">
+ <wsdl:operation name="testDocLitBare">
+ <wsdl:input name="testDocLitBareRequest" message="tns:testDocLitBareRequest"/>
+ <wsdl:output name="testDocLitBareResponse" message="tns:testDocLitBareResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="sayHi">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMe">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="testNillable">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeLater">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeSometime">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeOneWay">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ </wsdl:operation>
+ <wsdl:operation name="testDocLitFault">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="NoSuchCodeLitFault">
+ <soap:fault name="NoSuchCodeLitFault" use="literal"/>
+ </wsdl:fault>
+ <wsdl:fault name="BadRecordLitFault">
+ <soap:fault name="BadRecordLitFault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+
+ </wsdl:binding>
+ <wsdl:binding name="Doc_Lit_Bare_SOAPBinding" type="tns:DocLitBare">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="testDocLitBare">
+ <soap:operation style="document" soapAction="http://apache.org/hello_world_soap_http/testDocLitBare"/>
+ <wsdl:input name="testDocLitBareRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="testDocLitBareResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+
+ <wsdl:service name="SOAPService">
+ <wsdl:port name="SoapPort" binding="tns:Greeter_SOAPBinding">
+ <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+ </wsdl:port>
+
+ <wsdl:port name="SoapPort1" binding="tns:Greeter_SOAPBinding">
+ <soap:address location="http://localhost:7000/SoapContext/SoapPort"/>
+ </wsdl:port>
+ </wsdl:service>
+
+ <wsdl:service name="SOAPProviderService">
+ <wsdl:port name="SoapProviderPort" binding="tns:Greeter_SOAPBinding">
+ <soap:address location="http://localhost:9003/SoapContext/SoapProviderPort"/>
+ </wsdl:port>
+ </wsdl:service>
+
+ <wsdl:service name="SOAPDispatchService">
+ <wsdl:port name="SoapDispatchPort" binding="tns:Greeter_SOAPBinding">
+ <soap:address location="http://localhost:9006/SOAPDispatchService/SoapDispatchPort"/>
+ </wsdl:port>
+ </wsdl:service>
+
+ <wsdl:service name="SOAPService_DocLitBare">
+ <wsdl:port name="SoapPort2" binding="tns:Doc_Lit_Bare_SOAPBinding">
+ <soap:address location="http://localhost:7600/SoapContext/SoapPort"/>
+ </wsdl:port>
+ </wsdl:service>
+ <wsdl:service name="SOAPServiceAddressingDocLitBare">
+ <wsdl:port name="SoapPort" binding="tns:Doc_Lit_Bare_SOAPBinding">
+ <soap:address location="http://localhost:7600/SoapContext/SoapPort"/>
+ <wswa:UsingAddressing xmlns:wswa="http://www.w3.org/2005/02/addressing/wsdl"/>
+ </wsdl:port>
+ </wsdl:service>
+ <wsdl:service name="SOAPService_Test1">
+ <wsdl:port name="SoapPort_Test1" binding="tns:Greeter_SOAPBinding">
+ <soap:address location="http://localhost:9100"/>
+ </wsdl:port>
+ <wsdl:port name="SoapPort_Test2" binding="tns:Greeter_SOAPBinding">
+ <soap:address location="http://localhost:9101"/>
+ </wsdl:port>
+ </wsdl:service>
+ <wsdl:service name="SOAPServiceAddressing">
+ <wsdl:port name="SoapPort" binding="tns:Greeter_SOAPBinding">
+ <soap:address location="http://localhost:9008/SoapContext/SoapPort"/>
+ <wswa:UsingAddressing xmlns:wswa="http://www.w3.org/2005/02/addressing/wsdl"/>
+ </wsdl:port>
+ </wsdl:service>
+ <wsdl:service name="SOAPServiceConcurrencyTest">
+ <wsdl:port name="SoapPort" binding="tns:Greeter_SOAPBinding">
+ <soap:address location="http://localhost:9009/SoapContext/SoapPort"/>
+ </wsdl:port>
+ </wsdl:service>
+ <wsdl:service name="SOAPServiceBogusAddressTest">
+ <wsdl:port name="SoapPort" binding="tns:Greeter_SOAPBinding">
+ <soap:address location="FOO"/>
+ </wsdl:port>
+ </wsdl:service>
+ <wsdl:service name="SOAPServiceMultiPortTypeTest">
+ <wsdl:port name="GreeterPort" binding="tns:Greeter_SOAPBinding">
+ <soap:address location="http://localhost:9020/MultiPort/GreeterPort"/>
+ </wsdl:port>
+ <wsdl:port name="DocLitBarePort" binding="tns:Doc_Lit_Bare_SOAPBinding">
+ <soap:address location="http://localhost:9021/MultiPort/DocBarePort"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
+
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/hello_world.wsdl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/hello_world.wsdl
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/hello_world.wsdl
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/server.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/server.xml?rev=627671&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/server.xml (added)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/server.xml Wed Feb 13 22:09:39 2008
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:jaxws="http://cxf.apache.org/jaxws"
+ xmlns:test="http://cxf.apache.org/greeter_control"
+ xmlns:cxf="http://activemq.apache.org/camel/schema/cxfEndpoint"
+ xmlns:smx="http://servicemix.apache.org/camelEndpoint/"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+ http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+ http://activemq.apache.org/camel/schema/cxfEndpoint http://activemq.apache.org/camel/schema/cxf/cxfEndpoint.xsd
+ http://servicemix.apache.org/camelEndpoint/ http://servicemix.apache.org/camelEndpoint/.xsd
+
+ ">
+
+ <bean id="mapAggregator" class="org.apache.cxf.ws.addressing.MAPAggregator"/>
+ <bean id="mapCodec" class="org.apache.cxf.ws.addressing.soap.MAPCodec"/>
+ <bean class="org.apache.servicemix.camel.ws.addressing.MAPVerifier" id="mapVerifier"/>
+ <bean class="org.apache.servicemix.camel.ws.addressing.HeaderVerifier" id="headVerifier"/>
+ <cxf:cxfEndpoint id="routerEndpoint" name="test:GreeterPort" address="camel://jetty:http://localhost:9008/SoapContext/SoapPort" serviceClass="org.apache.hello_world_soap_http.Greeter">
+ <cxf:properties>
+ <entry key="dataFormat" value="POJO"/>
+ </cxf:properties>
+ <cxf:features>
+ <bean class="org.apache.cxf.feature.LoggingFeature"/>
+ </cxf:features>
+ <cxf:outInterceptors>
+ <ref bean="mapVerifier"/>
+ <ref bean="headVerifier"/>
+ </cxf:outInterceptors>
+ <cxf:inInterceptors>
+ <ref bean="mapVerifier"/>
+ <ref bean="headVerifier"/>
+ </cxf:inInterceptors>
+
+ <cxf:outFaultInterceptors>
+ <ref bean="mapVerifier"/>
+ <ref bean="headVerifier"/>
+ </cxf:outFaultInterceptors>
+ <cxf:inFaultInterceptors>
+ <ref bean="mapVerifier"/>
+ <ref bean="headVerifier"/>
+ </cxf:inFaultInterceptors>
+
+ </cxf:cxfEndpoint>
+
+
+ <cxf:cxfEndpoint id="serviceEndpoint" address="local://smx/hello_world"
+ serviceClass="org.apache.hello_world_soap_http.Greeter">
+ <cxf:properties>
+ <entry key="dataFormat" value="POJO"/>
+ </cxf:properties>
+ </cxf:cxfEndpoint>
+
+</beans>
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/server.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/server.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/server.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/wsa_interceptors.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/wsa_interceptors.xml?rev=627671&view=auto
==============================================================================
--- servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/wsa_interceptors.xml (added)
+++ servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/wsa_interceptors.xml Wed Feb 13 22:09:39 2008
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
+ xmlns:jaxws="http://cxf.apache.org/jaxws"
+ xsi:schemaLocation="
+http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="mapAggregator" class="org.apache.cxf.ws.addressing.MAPAggregator"/>
+ <bean id="mapCodec" class="org.apache.cxf.ws.addressing.soap.MAPCodec"/>
+ <bean id="loggingIn" class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+
+ <!-- We are adding the interceptors to the bus as we will have only one endpoint/service/bus. -->
+
+ <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl">
+ <property name="inInterceptors">
+ <list>
+ <ref bean="mapAggregator"/>
+ <ref bean="mapCodec"/>
+ <ref bean="loggingIn"/>
+ </list>
+ </property>
+ <property name="inFaultInterceptors">
+ <list>
+ <ref bean="mapAggregator"/>
+ <ref bean="mapCodec"/>
+ </list>
+ </property>
+ <property name="outInterceptors">
+ <list>
+ <ref bean="mapAggregator"/>
+ <ref bean="mapCodec"/>
+ </list>
+ </property>
+ <property name="outFaultInterceptors">
+ <list>
+ <ref bean="mapAggregator"/>
+ <ref bean="mapCodec"/>
+ </list>
+ </property>
+ </bean>
+
+ <jaxws:client name="{http://apache.org/hello_world_soap_http}SoapPort"
+ createdFromAPI="true">
+ <jaxws:conduitSelector>
+ <bean class="org.apache.cxf.endpoint.DeferredConduitSelector"/>
+ </jaxws:conduitSelector>
+ </jaxws:client>
+
+</beans>
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/wsa_interceptors.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/wsa_interceptors.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: servicemix/smx4/features/trunk/camel/servicemix-camel/src/test/resources/org/apache/servicemix/camel/ws/addressing/wsa_interceptors.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml