src/share/jaxws_classes/com/sun/xml/internal/ws/addressing/WsaTube.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 28,39 **** import com.sun.istack.internal.NotNull; import com.sun.xml.internal.ws.addressing.model.InvalidAddressingHeaderException; import com.sun.xml.internal.ws.addressing.model.MissingAddressingHeaderException; import com.sun.xml.internal.ws.api.SOAPVersion; import com.sun.xml.internal.ws.api.WSBinding; - import com.sun.xml.internal.ws.api.server.WSEndpoint; import com.sun.xml.internal.ws.api.addressing.AddressingVersion; import com.sun.xml.internal.ws.api.message.Header; import com.sun.xml.internal.ws.api.message.Message; import com.sun.xml.internal.ws.api.message.Messages; import com.sun.xml.internal.ws.api.message.Packet; import com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation; --- 28,39 ---- import com.sun.istack.internal.NotNull; import com.sun.xml.internal.ws.addressing.model.InvalidAddressingHeaderException; import com.sun.xml.internal.ws.addressing.model.MissingAddressingHeaderException; import com.sun.xml.internal.ws.api.SOAPVersion; import com.sun.xml.internal.ws.api.WSBinding; import com.sun.xml.internal.ws.api.addressing.AddressingVersion; + import com.sun.xml.internal.ws.api.message.AddressingUtils; import com.sun.xml.internal.ws.api.message.Header; import com.sun.xml.internal.ws.api.message.Message; import com.sun.xml.internal.ws.api.message.Messages; import com.sun.xml.internal.ws.api.message.Packet; import com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation;
*** 41,65 **** import com.sun.xml.internal.ws.api.pipe.NextAction; import com.sun.xml.internal.ws.api.pipe.Tube; import com.sun.xml.internal.ws.api.pipe.TubeCloner; import com.sun.xml.internal.ws.api.pipe.helper.AbstractFilterTubeImpl; import com.sun.xml.internal.ws.developer.MemberSubmissionAddressingFeature; - import com.sun.xml.internal.ws.developer.WSBindingProvider; import com.sun.xml.internal.ws.message.FaultDetailHeader; import com.sun.xml.internal.ws.resources.AddressingMessages; - import com.sun.xml.internal.ws.binding.BindingImpl; import javax.xml.namespace.QName; import javax.xml.soap.SOAPFault; import javax.xml.stream.XMLStreamException; import javax.xml.ws.WebServiceException; - import javax.xml.ws.Binding; import javax.xml.ws.soap.AddressingFeature; import javax.xml.ws.soap.SOAPBinding; import java.util.Iterator; - import java.util.Set; - import java.util.Arrays; import java.util.logging.Logger; import java.util.logging.Level; /** * WS-Addressing processing code shared between client and server. --- 41,60 ----
*** 105,124 **** soapVersion = that.soapVersion; addressingRequired = that.addressingRequired; } private void addKnownHeadersToBinding(WSBinding binding) { - Set<QName> headerQNames = binding.getKnownHeaders(); for (AddressingVersion addrVersion: AddressingVersion.values()) { ! headerQNames.add(addrVersion.actionTag); ! headerQNames.add(addrVersion.faultDetailTag); ! headerQNames.add(addrVersion.faultToTag); ! headerQNames.add(addrVersion.fromTag); ! headerQNames.add(addrVersion.messageIDTag); ! headerQNames.add(addrVersion.relatesToTag); ! headerQNames.add(addrVersion.replyToTag); ! headerQNames.add(addrVersion.toTag); } } @Override public @NotNull NextAction processException(Throwable t) { --- 100,118 ---- soapVersion = that.soapVersion; addressingRequired = that.addressingRequired; } private void addKnownHeadersToBinding(WSBinding binding) { for (AddressingVersion addrVersion: AddressingVersion.values()) { ! binding.addKnownHeader(addrVersion.actionTag); ! binding.addKnownHeader(addrVersion.faultDetailTag); ! binding.addKnownHeader(addrVersion.faultToTag); ! binding.addKnownHeader(addrVersion.fromTag); ! binding.addKnownHeader(addrVersion.messageIDTag); ! binding.addKnownHeader(addrVersion.relatesToTag); ! binding.addKnownHeader(addrVersion.replyToTag); ! binding.addKnownHeader(addrVersion.toTag); } } @Override public @NotNull NextAction processException(Throwable t) {
*** 204,214 **** return false; if (packet.getMessage().getHeaders() != null) return false; ! String action = packet.getMessage().getHeaders().getAction(addressingVersion, soapVersion); if (action == null) return true; return true; } --- 198,210 ---- return false; if (packet.getMessage().getHeaders() != null) return false; ! String action = AddressingUtils.getAction( ! packet.getMessage().getHeaders(), ! addressingVersion, soapVersion); if (action == null) return true; return true; }
*** 368,378 **** return wsdlPort.getBinding().get(opName); return null; } protected void validateSOAPAction(Packet packet) { ! String gotA = packet.getMessage().getHeaders().getAction(addressingVersion, soapVersion); if (gotA == null) throw new WebServiceException(AddressingMessages.VALIDATION_SERVER_NULL_ACTION()); if(packet.soapAction != null && !packet.soapAction.equals("\"\"") && !packet.soapAction.equals("\""+gotA+"\"")) { throw new InvalidAddressingHeaderException(addressingVersion.actionTag, addressingVersion.actionMismatchTag); } --- 364,376 ---- return wsdlPort.getBinding().get(opName); return null; } protected void validateSOAPAction(Packet packet) { ! String gotA = AddressingUtils.getAction( ! packet.getMessage().getHeaders(), ! addressingVersion, soapVersion); if (gotA == null) throw new WebServiceException(AddressingMessages.VALIDATION_SERVER_NULL_ACTION()); if(packet.soapAction != null && !packet.soapAction.equals("\"\"") && !packet.soapAction.equals("\""+gotA+"\"")) { throw new InvalidAddressingHeaderException(addressingVersion.actionTag, addressingVersion.actionMismatchTag); }