|
Apache CXF example source code file (MtomPolicyTest.java)
The Apache CXF MtomPolicyTest.java source code/** * 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.cxf.systest.mtom; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.apache.cxf.Bus; import org.apache.cxf.BusException; import org.apache.cxf.BusFactory; import org.apache.cxf.attachment.AttachmentDeserializer; import org.apache.cxf.helpers.DOMUtils; import org.apache.cxf.helpers.IOUtils; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; import org.apache.cxf.message.Attachment; import org.apache.cxf.message.ExchangeImpl; import org.apache.cxf.message.Message; import org.apache.cxf.message.MessageImpl; import org.apache.cxf.service.model.EndpointInfo; import org.apache.cxf.test.AbstractCXFTest; import org.apache.cxf.test.TestUtilities; import org.apache.cxf.testutil.common.TestUtil; import org.apache.cxf.transport.Conduit; import org.apache.cxf.transport.ConduitInitiator; import org.apache.cxf.transport.ConduitInitiatorManager; import org.apache.cxf.ws.policy.PolicyEngine; import org.apache.cxf.ws.policy.WSPolicyFeature; import org.apache.cxf.ws.policy.selector.FirstAlternativeSelector; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; public class MtomPolicyTest extends AbstractCXFTest { public static final String PORT = TestUtil.getPortNumber(MtomPolicyTest.class); String address = "http://localhost:" + PORT + "/EchoService"; @BeforeClass public static void setKeepAliveProperty() { TestUtilities.setKeepAliveSystemProperty(false); } @AfterClass public static void cleanKeepAliveProperty() { TestUtilities.recoverKeepAliveSystemProperty(); } @Test public void testRequiredMtom() throws Exception { setupServer(true); sendMtomMessage(address); Node res = invoke(address, "http://schemas.xmlsoap.org/soap/http", "nonmtom.xml"); NodeList list = assertValid("//faultstring", res); String text = list.item(0).getTextContent(); assertTrue(text.contains("These policy alternatives can not be satisfied: ")); assertTrue(text.contains("{http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization}" + "OptimizedMimeSerialization")); } @Test public void testOptionalMtom() throws Exception { setupServer(false); sendMtomMessage(address); Node res = invoke(address, "http://schemas.xmlsoap.org/soap/http", "nonmtom.xml"); assertNoFault(res); } public void setupServer(boolean mtomRequired) throws Exception { getBus().getExtension(PolicyEngine.class).setAlternativeSelector( new FirstAlternativeSelector()); JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean(); sf.setServiceBean(new EchoService()); sf.setBus(getBus()); sf.setAddress(address); WSPolicyFeature policyFeature = new WSPolicyFeature(); List<Element> policyElements = new ArrayList Other Apache CXF examples (source code examples)Here is a short list of links related to this Apache CXF MtomPolicyTest.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.