feat(jdk8): move files to new folder to avoid resources compiled.

This commit is contained in:
2025-09-07 15:25:52 +08:00
parent 3f0047bf6f
commit 8c35cfb1c0
17415 changed files with 217 additions and 213 deletions

View File

@@ -0,0 +1,172 @@
/*
* 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl;
import com.sun.istack.internal.NotNull;
import com.sun.istack.internal.Nullable;
import com.sun.xml.internal.ws.api.WSBinding;
import com.sun.xml.internal.ws.api.model.SEIModel;
import com.sun.xml.internal.ws.api.model.WSDLOperationMapping;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLPort;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation;
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.Message;
import com.sun.xml.internal.ws.api.message.MessageHeaders;
import com.sun.xml.internal.ws.api.message.Messages;
import com.sun.xml.internal.ws.api.message.Packet;
import com.sun.xml.internal.ws.model.AbstractSEIModelImpl;
import com.sun.xml.internal.ws.model.JavaMethodImpl;
import static com.sun.xml.internal.ws.wsdl.PayloadQNameBasedOperationFinder.*;
import com.sun.xml.internal.ws.resources.AddressingMessages;
import javax.xml.namespace.QName;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;
/**
* An {@link WSDLOperationFinder} implementation that uses
* WS-Addressing Action Message Addressing Property, <code>wsa:Action</code> and SOAP Payload QName,
* as the key for dispatching.
* <p/>
* This should be used only when AddressingFeature is enabled.
* A map of all {@link ActionBasedOperationSignature}s in the port and the corresponding and the WSDL Operation QNames
* is maintained.
* <p/>
*
* @author Rama Pulavarthi
*/
final class ActionBasedOperationFinder extends WSDLOperationFinder {
private static final Logger LOGGER = Logger.getLogger(ActionBasedOperationFinder.class.getName());
private final Map<ActionBasedOperationSignature, WSDLOperationMapping> uniqueOpSignatureMap;
private final Map<String, WSDLOperationMapping> actionMap;
private final @NotNull AddressingVersion av;
public ActionBasedOperationFinder(WSDLPort wsdlModel, WSBinding binding, @Nullable SEIModel seiModel) {
super(wsdlModel, binding, seiModel);
assert binding.getAddressingVersion() != null; // this dispatcher can be only used when addressing is on.
av = binding.getAddressingVersion();
uniqueOpSignatureMap = new HashMap<ActionBasedOperationSignature, WSDLOperationMapping>();
actionMap = new HashMap<String,WSDLOperationMapping>();
if (seiModel != null) {
for (JavaMethodImpl m : ((AbstractSEIModelImpl) seiModel).getJavaMethods()) {
if(m.getMEP().isAsync)
continue;
String action = m.getInputAction();
QName payloadName = m.getRequestPayloadName();
if (payloadName == null)
payloadName = EMPTY_PAYLOAD;
//first look at annotations and then in wsdlmodel
if (action == null || action.equals("")) {
if (m.getOperation() != null) action = m.getOperation().getOperation().getInput().getAction();
// action = m.getInputAction();
}
if (action != null) {
ActionBasedOperationSignature opSignature = new ActionBasedOperationSignature(action, payloadName);
if(uniqueOpSignatureMap.get(opSignature) != null) {
LOGGER.warning(AddressingMessages.NON_UNIQUE_OPERATION_SIGNATURE(
uniqueOpSignatureMap.get(opSignature),m.getOperationQName(),action,payloadName));
}
uniqueOpSignatureMap.put(opSignature, wsdlOperationMapping(m));
actionMap.put(action,wsdlOperationMapping(m));
}
}
} else {
for (WSDLBoundOperation wsdlOp : wsdlModel.getBinding().getBindingOperations()) {
QName payloadName = wsdlOp.getRequestPayloadName();
if (payloadName == null)
payloadName = EMPTY_PAYLOAD;
String action = wsdlOp.getOperation().getInput().getAction();
ActionBasedOperationSignature opSignature = new ActionBasedOperationSignature(
action, payloadName);
if(uniqueOpSignatureMap.get(opSignature) != null) {
LOGGER.warning(AddressingMessages.NON_UNIQUE_OPERATION_SIGNATURE(
uniqueOpSignatureMap.get(opSignature),wsdlOp.getName(),action,payloadName));
}
uniqueOpSignatureMap.put(opSignature, wsdlOperationMapping(wsdlOp));
actionMap.put(action,wsdlOperationMapping(wsdlOp));
}
}
}
// /**
// *
// * @param request Request Packet that is used to find the associated WSDLOperation
// * @return WSDL operation Qname.
// * return null if WS-Addressing is not engaged.
// * @throws DispatchException with WSA defined fault message when it cannot find an associated WSDL operation.
// *
// */
// @Override
// public QName getWSDLOperationQName(Packet request) throws DispatchException {
// return getWSDLOperationMapping(request).getWSDLBoundOperation().getName();
// }
public WSDLOperationMapping getWSDLOperationMapping(Packet request) throws DispatchException {
MessageHeaders hl = request.getMessage().getHeaders();
String action = AddressingUtils.getAction(hl, av, binding.getSOAPVersion());
if (action == null)
// Addressing is not enagaged, return null to use other ways to dispatch.
return null;
Message message = request.getMessage();
QName payloadName;
String localPart = message.getPayloadLocalPart();
if (localPart == null) {
payloadName = EMPTY_PAYLOAD;
} else {
String nsUri = message.getPayloadNamespaceURI();
if (nsUri == null)
nsUri = EMPTY_PAYLOAD_NSURI;
payloadName = new QName(nsUri, localPart);
}
WSDLOperationMapping opMapping = uniqueOpSignatureMap.get(new ActionBasedOperationSignature(action, payloadName));
if (opMapping != null)
return opMapping;
//Seems like in Wstrust STS wsdls, the payload does not match what is specified in the wsdl leading to incorrect
// wsdl operation resolution. Use just wsa:Action to dispatch as a last resort.
//try just with wsa:Action
opMapping = actionMap.get(action);
if (opMapping != null)
return opMapping;
// invalid action header
Message result = Messages.create(action, av, binding.getSOAPVersion());
throw new DispatchException(result);
}
}

View File

@@ -0,0 +1,68 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl;
import com.sun.istack.internal.NotNull;
import javax.xml.namespace.QName;
/**
* This class models the Operation Signature as defined by WS-I BP ( 1.2 or 2.0) to use wsa:Action and payload QName to
* identify the corresponding wsdl operation from a request SOAP Message.
*
* @author Rama Pulavarthi
*/
public class ActionBasedOperationSignature {
private final String action;
private final QName payloadQName;
public ActionBasedOperationSignature(@NotNull String action, @NotNull QName payloadQName) {
this.action = action;
this.payloadQName = payloadQName;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ActionBasedOperationSignature that = (ActionBasedOperationSignature) o;
if (!action.equals(that.action)) return false;
if (!payloadQName.equals(that.payloadQName)) return false;
return true;
}
@Override
public int hashCode() {
int result = action.hashCode();
result = 31 * result + payloadQName.hashCode();
return result;
}
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl;
import com.sun.xml.internal.ws.api.message.Message;
/**
* {@link Exception} that demands a specific fault message to be sent back.
*
* TODO: think about a way to generalize it, as it seems to be useful
* in other places.
*
* @author Kohsuke Kawaguchi
*/
public final class DispatchException extends Exception {
public final Message fault;
public DispatchException(Message fault) {
this.fault = fault;
}
}

View File

@@ -0,0 +1,95 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl;
import com.sun.istack.internal.NotNull;
import com.sun.istack.internal.Nullable;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLPort;
import com.sun.xml.internal.ws.api.model.SEIModel;
import com.sun.xml.internal.ws.api.model.WSDLOperationMapping;
import com.sun.xml.internal.ws.api.WSBinding;
import com.sun.xml.internal.ws.api.message.Packet;
import com.sun.xml.internal.ws.api.message.Message;
import com.sun.xml.internal.ws.resources.ServerMessages;
import com.sun.xml.internal.ws.fault.SOAPFaultBuilder;
import javax.xml.namespace.QName;
import java.util.List;
import java.util.ArrayList;
import java.text.MessageFormat;
/**
* This class abstracts the process of identifying the wsdl operation from a SOAP Message request.
* This is primarily for dispatching the request messages to an endpoint method.
*
* Different implementations of {@link WSDLOperationFinder} are used underneath to identify the wsdl operation based on
* if AddressingFeature is enabled or not.
*
* @author Rama Pulavarthi
*/
public class OperationDispatcher {
private List<WSDLOperationFinder> opFinders;
private WSBinding binding;
public OperationDispatcher(@NotNull WSDLPort wsdlModel, @NotNull WSBinding binding, @Nullable SEIModel seiModel) {
this.binding = binding;
opFinders = new ArrayList<WSDLOperationFinder>();
if (binding.getAddressingVersion() != null) {
opFinders.add(new ActionBasedOperationFinder(wsdlModel, binding, seiModel));
}
opFinders.add(new PayloadQNameBasedOperationFinder(wsdlModel, binding, seiModel));
opFinders.add(new SOAPActionBasedOperationFinder(wsdlModel, binding, seiModel));
}
/**
* @deprecated use getWSDLOperationMapping(Packet request)
* @param request Packet
* @return QName of the wsdl operation.
* @throws DispatchException if a unique operartion cannot be associated with this packet.
*/
public @NotNull QName getWSDLOperationQName(Packet request) throws DispatchException {
WSDLOperationMapping m = getWSDLOperationMapping(request);
return m != null ? m.getOperationName() : null;
}
public @NotNull WSDLOperationMapping getWSDLOperationMapping(Packet request) throws DispatchException {
WSDLOperationMapping opName;
for(WSDLOperationFinder finder: opFinders) {
opName = finder.getWSDLOperationMapping(request);
if(opName != null)
return opName;
}
//No way to dispatch this request
String err = MessageFormat.format("Request=[SOAPAction={0},Payload='{'{1}'}'{2}]",
request.soapAction, request.getMessage().getPayloadNamespaceURI(),
request.getMessage().getPayloadLocalPart());
String faultString = ServerMessages.DISPATCH_CANNOT_FIND_METHOD(err);
Message faultMsg = SOAPFaultBuilder.createSOAPFaultMessage(
binding.getSOAPVersion(), faultString, binding.getSOAPVersion().faultCodeClient);
throw new DispatchException(faultMsg);
}
}

View File

@@ -0,0 +1,148 @@
/*
* 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl;
import com.sun.istack.internal.Nullable;
import com.sun.xml.internal.ws.api.WSBinding;
import com.sun.xml.internal.ws.api.model.SEIModel;
import com.sun.xml.internal.ws.api.model.WSDLOperationMapping;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLPort;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation;
import com.sun.xml.internal.ws.api.message.Message;
import com.sun.xml.internal.ws.api.message.Packet;
import com.sun.xml.internal.ws.fault.SOAPFaultBuilder;
import com.sun.xml.internal.ws.model.AbstractSEIModelImpl;
import com.sun.xml.internal.ws.model.JavaMethodImpl;
import com.sun.xml.internal.ws.resources.ServerMessages;
import com.sun.xml.internal.ws.util.QNameMap;
import com.sun.xml.internal.ws.wsdl.DispatchException;
import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;
/**
* An {@link WSDLOperationFinder} that uses SOAP payload first child's QName as the key for dispatching.
* <p/>
* A map of all payload QNames that the operations in the port allow and the corresponding QName of the wsdl operation
* is initialized in the constructor. The payload QName is extracted from the
* request {@link com.sun.xml.internal.ws.api.message.Packet} and used to identify the wsdl operation.
*
* @author Rama Pulavarthi
* @author Arun Gupta
* @author Jitendra Kotamraju
*/
final class PayloadQNameBasedOperationFinder extends WSDLOperationFinder {
private static final Logger LOGGER = Logger.getLogger(PayloadQNameBasedOperationFinder.class.getName());
public static final String EMPTY_PAYLOAD_LOCAL = "";
public static final String EMPTY_PAYLOAD_NSURI = "";
public static final QName EMPTY_PAYLOAD = new QName(EMPTY_PAYLOAD_NSURI, EMPTY_PAYLOAD_LOCAL);
private final QNameMap<WSDLOperationMapping> methodHandlers = new QNameMap<WSDLOperationMapping>();
private final QNameMap<List<String>> unique = new QNameMap<List<String>>();
public PayloadQNameBasedOperationFinder(WSDLPort wsdlModel, WSBinding binding, @Nullable SEIModel seiModel) {
super(wsdlModel,binding,seiModel);
if (seiModel != null) {
// Find if any payload QNames repeat for operations
for (JavaMethodImpl m : ((AbstractSEIModelImpl) seiModel).getJavaMethods()) {
if(m.getMEP().isAsync)
continue;
QName name = m.getRequestPayloadName();
if (name == null)
name = EMPTY_PAYLOAD;
List<String> methods = unique.get(name);
if (methods == null) {
methods = new ArrayList<String>();
unique.put(name, methods);
}
methods.add(m.getMethod().getName());
}
// Log warnings about non unique payload QNames
for (QNameMap.Entry<List<String>> e : unique.entrySet()) {
if (e.getValue().size() > 1) {
LOGGER.warning(ServerMessages.NON_UNIQUE_DISPATCH_QNAME(e.getValue(), e.createQName()));
}
}
for (JavaMethodImpl m : ((AbstractSEIModelImpl) seiModel).getJavaMethods()) {
QName name = m.getRequestPayloadName();
if (name == null)
name = EMPTY_PAYLOAD;
// Set up method handlers only for unique QNames. So that dispatching
// happens consistently for a method
if (unique.get(name).size() == 1) {
methodHandlers.put(name, wsdlOperationMapping(m));
}
}
} else {
for (WSDLBoundOperation wsdlOp : wsdlModel.getBinding().getBindingOperations()) {
QName name = wsdlOp.getRequestPayloadName();
if (name == null)
name = EMPTY_PAYLOAD;
methodHandlers.put(name, wsdlOperationMapping(wsdlOp));
}
}
}
/**
*
* @return not null if it finds a unique handler for the request
* null if it cannot idenitify a unique wsdl operation from the Payload QName.
*
* @throws DispatchException if the payload itself is incorrect, this happens when the payload is not accepted by
* any operation in the port.
*/
// public QName getWSDLOperationQName(Packet request) throws DispatchException{
public WSDLOperationMapping getWSDLOperationMapping(Packet request) throws DispatchException {
Message message = request.getMessage();
String localPart = message.getPayloadLocalPart();
String nsUri;
if (localPart == null) {
localPart = EMPTY_PAYLOAD_LOCAL;
nsUri = EMPTY_PAYLOAD_NSURI;
} else {
nsUri = message.getPayloadNamespaceURI();
if(nsUri == null)
nsUri = EMPTY_PAYLOAD_NSURI;
}
WSDLOperationMapping op = methodHandlers.get(nsUri, localPart);
// Check if payload itself is correct. Usually it is, so let us check last
if (op == null && !unique.containsKey(nsUri,localPart)) {
String dispatchKey = "{" + nsUri + "}" + localPart;
String faultString = ServerMessages.DISPATCH_CANNOT_FIND_METHOD(dispatchKey);
throw new DispatchException(SOAPFaultBuilder.createSOAPFaultMessage(
binding.getSOAPVersion(), faultString, binding.getSOAPVersion().faultCodeClient));
}
return op;
}
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl;
import com.sun.istack.internal.Nullable;
import com.sun.xml.internal.ws.api.server.SDDocument;
/**
* Resolves a systemId to {@link SDDocument}
*
* @author Jitendra Kotamraju
*/
public interface SDDocumentResolver {
/**
* returns {@link SDDocument} for the give systemId.
*
* @param systemId document's systemId
* @return document for the systemId, null if it cannot resolve.
*/
@Nullable SDDocument resolve(String systemId);
}

View File

@@ -0,0 +1,92 @@
/*
* Copyright (c) 2007, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl;
import com.sun.istack.internal.Nullable;
import com.sun.xml.internal.ws.api.WSBinding;
import com.sun.xml.internal.ws.api.model.JavaMethod;
import com.sun.xml.internal.ws.api.model.SEIModel;
import com.sun.xml.internal.ws.api.model.WSDLOperationMapping;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLPort;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation;
import com.sun.xml.internal.ws.api.message.Packet;
import com.sun.xml.internal.ws.model.AbstractSEIModelImpl;
import com.sun.xml.internal.ws.model.JavaMethodImpl;
import javax.xml.namespace.QName;
import java.util.HashMap;
import java.util.Map;
/**
* An {@link WSDLOperationFinder} that uses SOAPAction as the key for dispatching.
* <p/>
* A map of all SOAPAction on the port and the corresponding WSDL operation QName
* is initialized in the constructor. The SOAPAction from the
* request {@link com.sun.xml.internal.ws.api.message.Packet} is used as the key to identify the associated wsdl operation.
*
* @author Jitendra Kotamraju
*/
final class SOAPActionBasedOperationFinder extends WSDLOperationFinder {
private final Map<String, WSDLOperationMapping> methodHandlers;
public SOAPActionBasedOperationFinder(WSDLPort wsdlModel, WSBinding binding, @Nullable SEIModel seiModel) {
super(wsdlModel,binding,seiModel);
methodHandlers = new HashMap<String, WSDLOperationMapping>();
// Find if any SOAPAction repeat for operations
Map<String, Integer> unique = new HashMap<String, Integer>();
if (seiModel != null) {
for (JavaMethodImpl m : ((AbstractSEIModelImpl) seiModel).getJavaMethods()) {
String soapAction = m.getSOAPAction();
Integer count = unique.get(soapAction);
if (count == null) {
unique.put(soapAction, 1);
} else {
unique.put(soapAction, ++count);
}
}
for (JavaMethodImpl m : ((AbstractSEIModelImpl) seiModel).getJavaMethods()) {
String soapAction = m.getSOAPAction();
// Set up method handlers only for unique SOAPAction values so
// that dispatching happens consistently for a method
if (unique.get(soapAction) == 1) {
methodHandlers.put('"' + soapAction + '"', wsdlOperationMapping(m));
}
}
} else {
for(WSDLBoundOperation wsdlOp: wsdlModel.getBinding().getBindingOperations()) {
methodHandlers.put(wsdlOp.getSOAPAction(), wsdlOperationMapping(wsdlOp));
}
}
}
// public QName getWSDLOperationQName(Packet request) {
public WSDLOperationMapping getWSDLOperationMapping(Packet request) throws DispatchException {
return request.soapAction == null ? null : methodHandlers.get(request.soapAction);
}
}

View File

@@ -0,0 +1,113 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl;
import com.sun.xml.internal.ws.api.message.Packet;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLPort;
import com.sun.xml.internal.ws.api.model.JavaMethod;
import com.sun.xml.internal.ws.api.model.SEIModel;
import com.sun.xml.internal.ws.api.model.WSDLOperationMapping;
import com.sun.xml.internal.ws.api.WSBinding;
import com.sun.xml.internal.ws.model.JavaMethodImpl;
import com.sun.istack.internal.NotNull;
import com.sun.istack.internal.Nullable;
import javax.xml.namespace.QName;
/**
* Extensions if this class will be used for dispatching the request message to the correct endpoint method by
* identifying the wsdl operation associated with the request.
*
* @see OperationDispatcher
*
* @author Rama Pulavarthi
*/
public abstract class WSDLOperationFinder {
protected final WSDLPort wsdlModel;
protected final WSBinding binding;
protected final SEIModel seiModel;
public WSDLOperationFinder(@NotNull WSDLPort wsdlModel, @NotNull WSBinding binding, @Nullable SEIModel seiModel) {
this.wsdlModel = wsdlModel;
this.binding = binding;
this.seiModel= seiModel;
}
/**
* This methods returns the QName of the WSDL operation correponding to a request Packet.
* An implementation should return null when it cannot dispatch to a unique method based on the information it processes.
* In such case, other OperationFinders are queried to resolve a WSDL operation.
* It should throw an instance of DispatchException if it finds incorrect information in the packet.
*
* @deprecated use getWSDLOperationMapping(Packet request)
*
* @param request Request Packet that is used to find the associated WSDLOperation
* @return QName of the WSDL Operation that this request correponds to.
* null when it cannot find a unique operation to dispatch to.
* @throws DispatchException When the information in the Packet is invalid
*/
public QName getWSDLOperationQName(Packet request) throws DispatchException {
WSDLOperationMapping m = getWSDLOperationMapping(request);
return m != null ? m.getOperationName() : null;
}
public WSDLOperationMapping getWSDLOperationMapping(Packet request) throws DispatchException {
return null;
}
protected WSDLOperationMapping wsdlOperationMapping(JavaMethodImpl j) {
return new WSDLOperationMappingImpl(j.getOperation(), j);
}
protected WSDLOperationMapping wsdlOperationMapping(WSDLBoundOperation o) {
return new WSDLOperationMappingImpl(o, null);
}
static class WSDLOperationMappingImpl implements WSDLOperationMapping {
private WSDLBoundOperation wsdlOperation;
private JavaMethod javaMethod;
private QName operationName;
WSDLOperationMappingImpl(WSDLBoundOperation wsdlOperation, JavaMethodImpl javaMethod) {
this.wsdlOperation = wsdlOperation;
this.javaMethod = javaMethod;
operationName = (javaMethod != null) ? javaMethod.getOperationQName() : wsdlOperation.getName();
}
public WSDLBoundOperation getWSDLBoundOperation() {
return wsdlOperation;
}
public JavaMethod getJavaMethod() {
return javaMethod;
}
public QName getOperationName() {
return operationName;
}
}
}

View File

@@ -0,0 +1,178 @@
/*
* 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.ws.api.model.wsdl.editable.*;
import com.sun.xml.internal.ws.api.wsdl.parser.WSDLParserExtension;
import com.sun.xml.internal.ws.api.wsdl.parser.WSDLParserExtensionContext;
import javax.xml.stream.XMLStreamReader;
/**
* Delegate to another {@link WSDLParserExtension}
* useful for the base class for filtering.
*
* @author Kohsuke Kawaguchi
*/
class DelegatingParserExtension extends WSDLParserExtension {
protected final WSDLParserExtension core;
public DelegatingParserExtension(WSDLParserExtension core) {
this.core = core;
}
public void start(WSDLParserExtensionContext context) {
core.start(context);
}
public void serviceAttributes(EditableWSDLService service, XMLStreamReader reader) {
core.serviceAttributes(service, reader);
}
public boolean serviceElements(EditableWSDLService service, XMLStreamReader reader) {
return core.serviceElements(service, reader);
}
public void portAttributes(EditableWSDLPort port, XMLStreamReader reader) {
core.portAttributes(port, reader);
}
public boolean portElements(EditableWSDLPort port, XMLStreamReader reader) {
return core.portElements(port, reader);
}
public boolean portTypeOperationInput(EditableWSDLOperation op, XMLStreamReader reader) {
return core.portTypeOperationInput(op, reader);
}
public boolean portTypeOperationOutput(EditableWSDLOperation op, XMLStreamReader reader) {
return core.portTypeOperationOutput(op, reader);
}
public boolean portTypeOperationFault(EditableWSDLOperation op, XMLStreamReader reader) {
return core.portTypeOperationFault(op, reader);
}
public boolean definitionsElements(XMLStreamReader reader) {
return core.definitionsElements(reader);
}
public boolean bindingElements(EditableWSDLBoundPortType binding, XMLStreamReader reader) {
return core.bindingElements(binding, reader);
}
public void bindingAttributes(EditableWSDLBoundPortType binding, XMLStreamReader reader) {
core.bindingAttributes(binding, reader);
}
public boolean portTypeElements(EditableWSDLPortType portType, XMLStreamReader reader) {
return core.portTypeElements(portType, reader);
}
public void portTypeAttributes(EditableWSDLPortType portType, XMLStreamReader reader) {
core.portTypeAttributes(portType, reader);
}
public boolean portTypeOperationElements(EditableWSDLOperation operation, XMLStreamReader reader) {
return core.portTypeOperationElements(operation, reader);
}
public void portTypeOperationAttributes(EditableWSDLOperation operation, XMLStreamReader reader) {
core.portTypeOperationAttributes(operation, reader);
}
public boolean bindingOperationElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
return core.bindingOperationElements(operation, reader);
}
public void bindingOperationAttributes(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
core.bindingOperationAttributes(operation, reader);
}
public boolean messageElements(EditableWSDLMessage msg, XMLStreamReader reader) {
return core.messageElements(msg, reader);
}
public void messageAttributes(EditableWSDLMessage msg, XMLStreamReader reader) {
core.messageAttributes(msg, reader);
}
public boolean portTypeOperationInputElements(EditableWSDLInput input, XMLStreamReader reader) {
return core.portTypeOperationInputElements(input, reader);
}
public void portTypeOperationInputAttributes(EditableWSDLInput input, XMLStreamReader reader) {
core.portTypeOperationInputAttributes(input, reader);
}
public boolean portTypeOperationOutputElements(EditableWSDLOutput output, XMLStreamReader reader) {
return core.portTypeOperationOutputElements(output, reader);
}
public void portTypeOperationOutputAttributes(EditableWSDLOutput output, XMLStreamReader reader) {
core.portTypeOperationOutputAttributes(output, reader);
}
public boolean portTypeOperationFaultElements(EditableWSDLFault fault, XMLStreamReader reader) {
return core.portTypeOperationFaultElements(fault, reader);
}
public void portTypeOperationFaultAttributes(EditableWSDLFault fault, XMLStreamReader reader) {
core.portTypeOperationFaultAttributes(fault, reader);
}
public boolean bindingOperationInputElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
return core.bindingOperationInputElements(operation, reader);
}
public void bindingOperationInputAttributes(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
core.bindingOperationInputAttributes(operation, reader);
}
public boolean bindingOperationOutputElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
return core.bindingOperationOutputElements(operation, reader);
}
public void bindingOperationOutputAttributes(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
core.bindingOperationOutputAttributes(operation, reader);
}
public boolean bindingOperationFaultElements(EditableWSDLBoundFault fault, XMLStreamReader reader) {
return core.bindingOperationFaultElements(fault, reader);
}
public void bindingOperationFaultAttributes(EditableWSDLBoundFault fault, XMLStreamReader reader) {
core.bindingOperationFaultAttributes(fault, reader);
}
public void finished(WSDLParserExtensionContext context) {
core.finished(context);
}
public void postFinished(WSDLParserExtensionContext context) {
core.postFinished(context);
}
}

View File

@@ -0,0 +1,78 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory;
import com.sun.xml.internal.ws.api.wsdl.parser.XMLEntityResolver;
import com.sun.xml.internal.ws.streaming.TidyXMLStreamReader;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
/**
* Wraps {@link EntityResolver} into {@link com.sun.xml.internal.ws.api.wsdl.parser.XMLEntityResolver}.
*
* @author Kohsuke Kawaguchi
*/
final class EntityResolverWrapper implements XMLEntityResolver {
private final EntityResolver core;
private boolean useStreamFromEntityResolver = false;
public EntityResolverWrapper(EntityResolver core) {
this.core = core;
}
public EntityResolverWrapper(EntityResolver core, boolean useStreamFromEntityResolver) {
this.core = core;
this.useStreamFromEntityResolver = useStreamFromEntityResolver;
}
public Parser resolveEntity(String publicId, String systemId) throws SAXException, IOException {
InputSource source = core.resolveEntity(publicId,systemId);
if(source==null)
return null; // default
// ideally entity resolvers should be giving us the system ID for the resource
// (or otherwise we won't be able to resolve references within this imported WSDL correctly),
// but if none is given, the system ID before the entity resolution is better than nothing.
if(source.getSystemId()!=null)
systemId = source.getSystemId();
URL url = new URL(systemId);
InputStream stream;
if (useStreamFromEntityResolver) {
stream = source.getByteStream();
} else {
stream = url.openStream();
}
return new Parser(url,
new TidyXMLStreamReader(XMLStreamReaderFactory.create(url.toExternalForm(), stream, true), stream));
}
}

View File

@@ -0,0 +1,41 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import javax.xml.ws.WebServiceException;
/**
* listen to static errors found during building a the WSDL Model.
*
* @author Vivek Pandey
*/
public interface ErrorHandler {
/**
* Receives a notification for an error in the annotated code.
*/
void error( Throwable e );
}

View File

@@ -0,0 +1,131 @@
/*
* 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.ws.api.model.wsdl.editable.*;
import com.sun.xml.internal.ws.api.wsdl.parser.WSDLParserExtension;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamReader;
/**
* {@link WSDLParserExtension} filter that checks if
* another {@link WSDLParserExtension} is following the contract.
*
* <p>
* This code protects the JAX-WS RI from broken extensions.
*
* <p>
* For now it just checks if {@link XMLStreamReader} is placed
* at the expected start/end element.
*
* @author Kohsuke Kawaguchi
*/
final class FoolProofParserExtension extends DelegatingParserExtension {
public FoolProofParserExtension(WSDLParserExtension core) {
super(core);
}
private QName pre(XMLStreamReader xsr) {
return xsr.getName();
}
private boolean post(QName tagName, XMLStreamReader xsr, boolean result) {
if(!tagName.equals(xsr.getName()))
return foundFool();
if(result) {
if(xsr.getEventType()!=XMLStreamConstants.END_ELEMENT)
foundFool();
} else {
if(xsr.getEventType()!=XMLStreamConstants.START_ELEMENT)
foundFool();
}
return result;
}
private boolean foundFool() {
throw new AssertionError("XMLStreamReader is placed at the wrong place after invoking "+core);
}
public boolean serviceElements(EditableWSDLService service, XMLStreamReader reader) {
return post(pre(reader),reader,super.serviceElements(service, reader));
}
public boolean portElements(EditableWSDLPort port, XMLStreamReader reader) {
return post(pre(reader),reader,super.portElements(port, reader));
}
public boolean definitionsElements(XMLStreamReader reader) {
return post(pre(reader),reader,super.definitionsElements(reader));
}
public boolean bindingElements(EditableWSDLBoundPortType binding, XMLStreamReader reader) {
return post(pre(reader),reader,super.bindingElements(binding, reader));
}
public boolean portTypeElements(EditableWSDLPortType portType, XMLStreamReader reader) {
return post(pre(reader),reader,super.portTypeElements(portType, reader));
}
public boolean portTypeOperationElements(EditableWSDLOperation operation, XMLStreamReader reader) {
return post(pre(reader),reader,super.portTypeOperationElements(operation, reader));
}
public boolean bindingOperationElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
return post(pre(reader),reader,super.bindingOperationElements(operation, reader));
}
public boolean messageElements(EditableWSDLMessage msg, XMLStreamReader reader) {
return post(pre(reader),reader,super.messageElements(msg, reader));
}
public boolean portTypeOperationInputElements(EditableWSDLInput input, XMLStreamReader reader) {
return post(pre(reader),reader,super.portTypeOperationInputElements(input, reader));
}
public boolean portTypeOperationOutputElements(EditableWSDLOutput output, XMLStreamReader reader) {
return post(pre(reader),reader,super.portTypeOperationOutputElements(output, reader));
}
public boolean portTypeOperationFaultElements(EditableWSDLFault fault, XMLStreamReader reader) {
return post(pre(reader),reader,super.portTypeOperationFaultElements(fault, reader));
}
public boolean bindingOperationInputElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
return super.bindingOperationInputElements(operation, reader);
}
public boolean bindingOperationOutputElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
return post(pre(reader),reader,super.bindingOperationOutputElements(operation, reader));
}
public boolean bindingOperationFaultElements(EditableWSDLBoundFault fault, XMLStreamReader reader) {
return post(pre(reader),reader,super.bindingOperationFaultElements(fault, reader));
}
}

View File

@@ -0,0 +1,90 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import javax.xml.ws.WebServiceException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* A list of {@link InaccessibleWSDLException} wrapped in one exception.
*
* <p>
* This exception is used to report all the errors during WSDL parsing from {@link RuntimeWSDLParser#parse(java.net.URL, javax.xml.transform.Source, org.xml.sax.EntityResolver, boolean, com.sun.xml.internal.ws.api.server.Container, com.sun.xml.internal.ws.api.wsdl.parser.WSDLParserExtension[])}
*
* @author Vivek Pandey
*/
public class InaccessibleWSDLException extends WebServiceException {
private final List<Throwable> errors;
private static final long serialVersionUID = 1L;
public InaccessibleWSDLException(List<Throwable> errors) {
super(errors.size()+" counts of InaccessibleWSDLException.\n");
assert !errors.isEmpty() : "there must be at least one error";
this.errors = Collections.unmodifiableList(new ArrayList<Throwable>(errors));
}
public String toString() {
StringBuilder sb = new StringBuilder(super.toString());
sb.append('\n');
for( Throwable error : errors )
sb.append(error.toString()).append('\n');
return sb.toString();
}
/**
* Returns a read-only list of {@link InaccessibleWSDLException}s
* wrapped in this exception.
*
* @return
* a non-null list.
*/
public List<Throwable> getErrors() {
return errors;
}
public static class Builder implements ErrorHandler {
private final List<Throwable> list = new ArrayList<Throwable>();
public void error(Throwable e) {
list.add(e);
}
/**
* If an error was reported, throw the exception.
* Otherwise exit normally.
*/
public void check() throws InaccessibleWSDLException {
if(list.isEmpty())
return;
throw new InaccessibleWSDLException(list);
}
}
}

View File

@@ -0,0 +1,41 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import javax.xml.namespace.QName;
interface MIMEConstants {
// namespace URIs
static final String NS_WSDL_MIME = "http://schemas.xmlsoap.org/wsdl/mime/";
// QNames
static final QName QNAME_CONTENT = new QName(NS_WSDL_MIME, "content");
static final QName QNAME_MULTIPART_RELATED = new QName(NS_WSDL_MIME, "multipartRelated");
static final QName QNAME_PART = new QName(NS_WSDL_MIME, "part");
static final QName QNAME_MIME_XML = new QName(NS_WSDL_MIME, "mimeXml");
}

View File

@@ -0,0 +1,83 @@
/*
* 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.ws.api.addressing.AddressingVersion;
import com.sun.xml.internal.ws.developer.MemberSubmissionAddressingFeature;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLFeaturedObject;
import com.sun.xml.internal.ws.api.model.wsdl.editable.*;
import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
/**
* Member Submission WS-Addressing Runtime WSDL parser extension
*
* @author Arun Gupta
*/
public class MemberSubmissionAddressingWSDLParserExtension extends W3CAddressingWSDLParserExtension {
@Override
public boolean bindingElements(EditableWSDLBoundPortType binding, XMLStreamReader reader) {
return addressibleElement(reader, binding);
}
@Override
public boolean portElements(EditableWSDLPort port, XMLStreamReader reader) {
return addressibleElement(reader, port);
}
private boolean addressibleElement(XMLStreamReader reader, WSDLFeaturedObject binding) {
QName ua = reader.getName();
if (ua.equals(AddressingVersion.MEMBER.wsdlExtensionTag)) {
String required = reader.getAttributeValue(WSDLConstants.NS_WSDL, "required");
binding.addFeature(new MemberSubmissionAddressingFeature(Boolean.parseBoolean(required)));
XMLStreamReaderUtil.skipElement(reader);
return true; // UsingAddressing is consumed
}
return false;
}
@Override
public boolean bindingOperationElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
return false;
}
@Override
protected void patchAnonymousDefault(EditableWSDLBoundPortType binding) {
}
@Override
protected String getNamespaceURI() {
return AddressingVersion.MEMBER.wsdlNsUri;
}
@Override
protected QName getWsdlActionTag() {
return AddressingVersion.MEMBER.wsdlActionTag;
}
}

View File

@@ -0,0 +1,80 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.stream.buffer.XMLStreamBufferResult;
import com.sun.xml.internal.ws.api.server.SDDocumentSource;
import com.sun.xml.internal.ws.api.wsdl.parser.XMLEntityResolver;
import com.sun.xml.internal.ws.util.JAXWSUtils;
import com.sun.xml.internal.ws.util.xml.XmlUtil;
import org.xml.sax.SAXException;
import javax.xml.stream.XMLStreamException;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.ws.WebServiceException;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Entity resolver that works on MEX Metadata
*
* @author Vivek Pandey
*/
public final class MexEntityResolver implements XMLEntityResolver {
private final Map<String, SDDocumentSource> wsdls = new HashMap<String, SDDocumentSource>();
public MexEntityResolver(List<? extends Source> wsdls) throws IOException {
Transformer transformer = XmlUtil.newTransformer();
for (Source source : wsdls) {
XMLStreamBufferResult xsbr = new XMLStreamBufferResult();
try {
transformer.transform(source, xsbr);
} catch (TransformerException e) {
throw new WebServiceException(e);
}
String systemId = source.getSystemId();
//TODO: can we do anything if the given mex Source has no systemId?
if(systemId != null){
SDDocumentSource doc = SDDocumentSource.create(JAXWSUtils.getFileOrURL(systemId), xsbr.getXMLStreamBuffer());
this.wsdls.put(systemId, doc);
}
}
}
public Parser resolveEntity(String publicId, String systemId) throws SAXException, IOException, XMLStreamException {
if (systemId != null) {
SDDocumentSource src = wsdls.get(systemId);
if (src != null)
return new Parser(src);
}
return null;
}
}

View File

@@ -0,0 +1,109 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.ws.streaming.Attributes;
import com.sun.xml.internal.ws.streaming.XMLReaderException;
import com.sun.xml.internal.ws.util.xml.XmlUtil;
import com.sun.istack.internal.NotNull;
import com.sun.istack.internal.Nullable;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
/**
*
* TODO: made public just for now
* @author WS Development Team
*/
public class ParserUtil {
public static String getAttribute(XMLStreamReader reader, String name) {
return reader.getAttributeValue(null, name);
}
public static String getAttribute(XMLStreamReader reader, String nsUri, String name) {
return reader.getAttributeValue(nsUri, name);
}
public static String getAttribute(XMLStreamReader reader, QName name) {
return reader.getAttributeValue(name.getNamespaceURI(), name.getLocalPart());
}
public static QName getQName(XMLStreamReader reader, String tag){
String localName = XmlUtil.getLocalPart(tag);
String pfix = XmlUtil.getPrefix(tag);
String uri = reader.getNamespaceURI(fixNull(pfix));
return new QName(uri, localName);
}
public static String getMandatoryNonEmptyAttribute(XMLStreamReader reader,
String name) {
// String value = getAttribute(reader, name);
String value = reader.getAttributeValue(null, name);
if (value == null) {
failWithLocalName("client.missing.attribute", reader, name);
} else if (value.equals("")) {
failWithLocalName("client.invalidAttributeValue", reader, name);
}
return value;
}
public static void failWithFullName(String key, XMLStreamReader reader) {
// throw new WebServicesClientException(key,
// new Object[]{
// Integer.toString(reader.getLineNumber()),
// reader.getName().toString()});
}
public static void failWithLocalName(String key, XMLStreamReader reader) {
//throw new WebServicesClientException(key,
// new Object[]{
// Integer.toString(reader.getLineNumber()),
// reader.getLocalName()});
}
public static void failWithLocalName(String key, XMLStreamReader reader,
String arg) {
//throw new WebServicesClientException(key,
// new Object[]{
// Integer.toString(reader.getLineNumber()),
// reader.getLocalName(),
// arg});
}
private static @NotNull String fixNull(@Nullable String s) {
if (s == null) return "";
else return s;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,73 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.ws.encoding.soap.streaming.SOAPNamespaceConstants;
import com.sun.xml.internal.ws.encoding.soap.streaming.SOAP12NamespaceConstants;
import javax.xml.namespace.QName;
public interface SOAPConstants {
// namespace URIs
public static final String URI_ENVELOPE = SOAPNamespaceConstants.ENVELOPE;
public static final String URI_ENVELOPE12 = SOAP12NamespaceConstants.ENVELOPE;
public static final String NS_WSDL_SOAP =
"http://schemas.xmlsoap.org/wsdl/soap/";
public static final String NS_WSDL_SOAP12 =
"http://schemas.xmlsoap.org/wsdl/soap12/";
public static final String NS_SOAP_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
// other URIs
public final String URI_SOAP_TRANSPORT_HTTP =
"http://schemas.xmlsoap.org/soap/http";
// QNames
public static final QName QNAME_ADDRESS =
new QName(NS_WSDL_SOAP, "address");
public static final QName QNAME_SOAP12ADDRESS =
new QName(NS_WSDL_SOAP12, "address");
public static final QName QNAME_BINDING =
new QName(NS_WSDL_SOAP, "binding");
public static final QName QNAME_BODY = new QName(NS_WSDL_SOAP, "body");
public static final QName QNAME_SOAP12BODY = new QName(NS_WSDL_SOAP12, "body");
public static final QName QNAME_FAULT = new QName(NS_WSDL_SOAP, "fault");
public static final QName QNAME_HEADER = new QName(NS_WSDL_SOAP, "header");
public static final QName QNAME_SOAP12HEADER = new QName(NS_WSDL_SOAP12, "header");
public static final QName QNAME_HEADERFAULT =
new QName(NS_WSDL_SOAP, "headerfault");
public static final QName QNAME_OPERATION =
new QName(NS_WSDL_SOAP, "operation");
public static final QName QNAME_SOAP12OPERATION =
new QName(NS_WSDL_SOAP12, "operation");
public static final QName QNAME_MUSTUNDERSTAND =
new QName(URI_ENVELOPE, "mustUnderstand");
}

View File

@@ -0,0 +1,71 @@
/*
* 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.ws.api.model.wsdl.editable.*;
import javax.xml.stream.XMLStreamReader;
import javax.xml.namespace.QName;
/**
* W3C WS-Addressing Runtime WSDL parser extension that parses
* WS-Addressing Metadata wsdl extensibility elements
* This mainly reads wsam:Action element on input/output/fault messages in wsdl.
*
* @author Rama Pulavarthi
*/
public class W3CAddressingMetadataWSDLParserExtension extends W3CAddressingWSDLParserExtension {
String METADATA_WSDL_EXTN_NS = "http://www.w3.org/2007/05/addressing/metadata";
QName METADATA_WSDL_ACTION_TAG = new QName(METADATA_WSDL_EXTN_NS, "Action", "wsam");
@Override
public boolean bindingElements(EditableWSDLBoundPortType binding, XMLStreamReader reader) {
return false;
}
@Override
public boolean portElements(EditableWSDLPort port, XMLStreamReader reader) {
return false;
}
@Override
public boolean bindingOperationElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
return false;
}
@Override
protected void patchAnonymousDefault(EditableWSDLBoundPortType binding) {
}
@Override
protected String getNamespaceURI() {
return METADATA_WSDL_EXTN_NS;
}
@Override
protected QName getWsdlActionTag() {
return METADATA_WSDL_ACTION_TAG;
}
}

View File

@@ -0,0 +1,261 @@
/*
* 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.ws.api.addressing.AddressingVersion;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLFeaturedObject;
import static com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation.ANONYMOUS;
import com.sun.xml.internal.ws.api.model.wsdl.editable.*;
import com.sun.xml.internal.ws.api.wsdl.parser.WSDLParserExtension;
import com.sun.xml.internal.ws.api.wsdl.parser.WSDLParserExtensionContext;
import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.soap.AddressingFeature;
/**
* W3C WS-Addressing Runtime WSDL parser extension
*
* @author Arun Gupta
*/
public class W3CAddressingWSDLParserExtension extends WSDLParserExtension {
@Override
public boolean bindingElements(EditableWSDLBoundPortType binding, XMLStreamReader reader) {
return addressibleElement(reader, binding);
}
@Override
public boolean portElements(EditableWSDLPort port, XMLStreamReader reader) {
return addressibleElement(reader, port);
}
private boolean addressibleElement(XMLStreamReader reader, WSDLFeaturedObject binding) {
QName ua = reader.getName();
if (ua.equals(AddressingVersion.W3C.wsdlExtensionTag)) {
String required = reader.getAttributeValue(WSDLConstants.NS_WSDL, "required");
binding.addFeature(new AddressingFeature(true, Boolean.parseBoolean(required)));
XMLStreamReaderUtil.skipElement(reader);
return true; // UsingAddressing is consumed
}
return false;
}
@Override
public boolean bindingOperationElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
EditableWSDLBoundOperation edit = (EditableWSDLBoundOperation) operation;
QName anon = reader.getName();
if (anon.equals(AddressingVersion.W3C.wsdlAnonymousTag)) {
try {
String value = reader.getElementText();
if (value == null || value.trim().equals("")) {
throw new WebServiceException("Null values not permitted in wsaw:Anonymous.");
// TODO: throw exception only if wsdl:required=true
// TODO: is this the right exception ?
} else if (value.equals("optional")) {
edit.setAnonymous(ANONYMOUS.optional);
} else if (value.equals("required")) {
edit.setAnonymous(ANONYMOUS.required);
} else if (value.equals("prohibited")) {
edit.setAnonymous(ANONYMOUS.prohibited);
} else {
throw new WebServiceException("wsaw:Anonymous value \"" + value + "\" not understood.");
// TODO: throw exception only if wsdl:required=true
// TODO: is this the right exception ?
}
} catch (XMLStreamException e) {
throw new WebServiceException(e); // TODO: is this the correct behavior ?
}
return true; // consumed the element
}
return false;
}
public void portTypeOperationInputAttributes(EditableWSDLInput input, XMLStreamReader reader) {
String action = ParserUtil.getAttribute(reader, getWsdlActionTag());
if (action != null) {
input.setAction(action);
input.setDefaultAction(false);
}
}
public void portTypeOperationOutputAttributes(EditableWSDLOutput output, XMLStreamReader reader) {
String action = ParserUtil.getAttribute(reader, getWsdlActionTag());
if (action != null) {
output.setAction(action);
output.setDefaultAction(false);
}
}
public void portTypeOperationFaultAttributes(EditableWSDLFault fault, XMLStreamReader reader) {
String action = ParserUtil.getAttribute(reader, getWsdlActionTag());
if (action != null) {
fault.setAction(action);
fault.setDefaultAction(false);
}
}
/**
* Process wsdl:portType operation after the entire WSDL model has been populated.
* The task list includes: <p>
* <ul>
* <li>Patch the value of UsingAddressing in wsdl:port and wsdl:binding</li>
* <li>Populate actions for the messages that do not have an explicit wsaw:Action</li>
* <li>Patch the default value of wsaw:Anonymous=optional if none is specified</li>
* </ul>
* @param context
*/
@Override
public void finished(WSDLParserExtensionContext context) {
EditableWSDLModel model = context.getWSDLModel();
for (EditableWSDLService service : model.getServices().values()) {
for (EditableWSDLPort port : service.getPorts()) {
EditableWSDLBoundPortType binding = port.getBinding();
// populate actions for the messages that do not have an explicit wsaw:Action
populateActions(binding);
// patch the default value of wsaw:Anonymous=optional if none is specified
patchAnonymousDefault(binding);
}
}
}
protected String getNamespaceURI() {
return AddressingVersion.W3C.wsdlNsUri;
}
protected QName getWsdlActionTag() {
return AddressingVersion.W3C.wsdlActionTag;
}
/**
* Populate all the Actions
*
* @param binding soapbinding:operation
*/
private void populateActions(EditableWSDLBoundPortType binding) {
EditableWSDLPortType porttype = binding.getPortType();
for (EditableWSDLOperation o : porttype.getOperations()) {
// TODO: this may be performance intensive. Alternatively default action
// TODO: can be calculated when the operation is actually invoked.
EditableWSDLBoundOperation wboi = binding.get(o.getName());
if (wboi == null) {
//If this operation is unbound set the action to default
o.getInput().setAction(defaultInputAction(o));
continue;
}
String soapAction = wboi.getSOAPAction();
if (o.getInput().getAction() == null || o.getInput().getAction().equals("")) {
// explicit wsaw:Action is not specified
if (soapAction != null && !soapAction.equals("")) {
// if soapAction is non-empty, use that
o.getInput().setAction(soapAction);
} else {
// otherwise generate default Action
o.getInput().setAction(defaultInputAction(o));
}
}
// skip output and fault processing for one-way methods
if (o.getOutput() == null)
continue;
if (o.getOutput().getAction() == null || o.getOutput().getAction().equals("")) {
o.getOutput().setAction(defaultOutputAction(o));
}
if (o.getFaults() == null || !o.getFaults().iterator().hasNext())
continue;
for (EditableWSDLFault f : o.getFaults()) {
if (f.getAction() == null || f.getAction().equals("")) {
f.setAction(defaultFaultAction(f.getName(), o));
}
}
}
}
/**
* Patch the default value of wsaw:Anonymous=optional if none is specified
*
* @param binding WSDLBoundPortTypeImpl
*/
protected void patchAnonymousDefault(EditableWSDLBoundPortType binding) {
for (EditableWSDLBoundOperation wbo : binding.getBindingOperations()) {
if (wbo.getAnonymous() == null)
wbo.setAnonymous(ANONYMOUS.optional);
}
}
private String defaultInputAction(EditableWSDLOperation o) {
return buildAction(o.getInput().getName(), o, false);
}
private String defaultOutputAction(EditableWSDLOperation o) {
return buildAction(o.getOutput().getName(), o, false);
}
private String defaultFaultAction(String name, EditableWSDLOperation o) {
return buildAction(name, o, true);
}
protected static final String buildAction(String name, EditableWSDLOperation o, boolean isFault) {
String tns = o.getName().getNamespaceURI();
String delim = SLASH_DELIMITER;
// TODO: is this the correct way to find the separator ?
if (!tns.startsWith("http"))
delim = COLON_DELIMITER;
if (tns.endsWith(delim))
tns = tns.substring(0, tns.length()-1);
if (o.getPortTypeName() == null)
throw new WebServiceException("\"" + o.getName() + "\" operation's owning portType name is null.");
return tns +
delim +
o.getPortTypeName().getLocalPart() +
delim +
(isFault ? o.getName().getLocalPart() + delim + "Fault" + delim : "") +
name;
}
protected static final String COLON_DELIMITER = ":";
protected static final String SLASH_DELIMITER = "/";
}

View File

@@ -0,0 +1,79 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import javax.xml.namespace.QName;
/**
* Interface defining WSDL-related constants.
*
* @author WS Development Team
*/
public interface WSDLConstants {
// namespace URIs
static final String PREFIX_NS_WSDL = "wsdl";
static final String NS_XMLNS = "http://www.w3.org/2001/XMLSchema";
static final String NS_WSDL = "http://schemas.xmlsoap.org/wsdl/";
static final String NS_SOAP11_HTTP_BINDING = "http://schemas.xmlsoap.org/soap/http";
static final QName QNAME_SCHEMA = new QName(NS_XMLNS, "schema");
// QNames
static final QName QNAME_BINDING = new QName(NS_WSDL, "binding");
static final QName QNAME_DEFINITIONS = new QName(NS_WSDL, "definitions");
static final QName QNAME_DOCUMENTATION = new QName(NS_WSDL, "documentation");
static final QName NS_SOAP_BINDING_ADDRESS = new QName("http://schemas.xmlsoap.org/wsdl/soap/", "address");
static final QName NS_SOAP_BINDING = new QName("http://schemas.xmlsoap.org/wsdl/soap/", "binding");
static final QName NS_SOAP12_BINDING = new QName("http://schemas.xmlsoap.org/wsdl/soap12/", "binding");
static final QName NS_SOAP12_BINDING_ADDRESS = new QName("http://schemas.xmlsoap.org/wsdl/soap12/", "address");
//static final QName QNAME_FAULT = new QName(NS_WSDL, "fault");
static final QName QNAME_IMPORT = new QName(NS_WSDL, "import");
//static final QName QNAME_INPUT = new QName(NS_WSDL, "input");
static final QName QNAME_MESSAGE = new QName(NS_WSDL, "message");
static final QName QNAME_PART = new QName(NS_WSDL, "part");
static final QName QNAME_OPERATION = new QName(NS_WSDL, "operation");
static final QName QNAME_INPUT = new QName(NS_WSDL, "input");
static final QName QNAME_OUTPUT = new QName(NS_WSDL, "output");
//static final QName QNAME_OUTPUT = new QName(NS_WSDL, "output");
//static final QName QNAME_PART = new QName(NS_WSDL, "part");
static final QName QNAME_PORT = new QName(NS_WSDL, "port");
static final QName QNAME_ADDRESS = new QName(NS_WSDL, "address");
static final QName QNAME_PORT_TYPE = new QName(NS_WSDL, "portType");
static final QName QNAME_FAULT = new QName(NS_WSDL, "fault");
static final QName QNAME_SERVICE = new QName(NS_WSDL, "service");
static final QName QNAME_TYPES = new QName(NS_WSDL, "types");
static final String ATTR_TRANSPORT = "transport";
static final String ATTR_LOCATION = "location";
static final String ATTR_NAME = "name";
static final String ATTR_TNS = "targetNamespace";
//static final QName QNAME_ATTR_ARRAY_TYPE = new QName(NS_WSDL, "arrayType");
}

View File

@@ -0,0 +1,71 @@
/*
* 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.ws.api.model.wsdl.editable.EditableWSDLModel;
import com.sun.xml.internal.ws.api.server.Container;
import com.sun.xml.internal.ws.api.wsdl.parser.WSDLParserExtensionContext;
import com.sun.xml.internal.ws.api.policy.PolicyResolver;
/**
* Provides implementation of {@link WSDLParserExtensionContext}
*
* @author Vivek Pandey
* @author Fabian Ritzmann
*/
final class WSDLParserExtensionContextImpl implements WSDLParserExtensionContext {
private final boolean isClientSide;
private final EditableWSDLModel wsdlModel;
private final Container container;
private final PolicyResolver policyResolver;
/**
* Construct {@link WSDLParserExtensionContextImpl} with information that whether its on client side
* or server side.
*/
protected WSDLParserExtensionContextImpl(EditableWSDLModel model, boolean isClientSide, Container container, PolicyResolver policyResolver) {
this.wsdlModel = model;
this.isClientSide = isClientSide;
this.container = container;
this.policyResolver = policyResolver;
}
public boolean isClientSide() {
return isClientSide;
}
public EditableWSDLModel getWSDLModel() {
return wsdlModel;
}
public Container getContainer() {
return this.container;
}
public PolicyResolver getPolicyResolver() {
return policyResolver;
}
}

View File

@@ -0,0 +1,345 @@
/*
* 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.parser;
import com.sun.xml.internal.ws.api.wsdl.parser.WSDLParserExtension;
import com.sun.xml.internal.ws.api.wsdl.parser.WSDLParserExtensionContext;
import com.sun.xml.internal.ws.api.model.wsdl.editable.*;
import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.Location;
import org.xml.sax.Locator;
import org.xml.sax.helpers.LocatorImpl;
/**
* {@link WSDLParserExtension} that delegates to
* multiple {@link WSDLParserExtension}s.
*
* <p>
* This simplifies {@link RuntimeWSDLParser} since it now
* only needs to work with one {@link WSDLParserExtension}.
*
* <p>
* This class is guaranteed to return true from
* all the extension callback methods.
*
* @author Kohsuke Kawaguchi
*/
final class WSDLParserExtensionFacade extends WSDLParserExtension {
private final WSDLParserExtension[] extensions;
WSDLParserExtensionFacade(WSDLParserExtension... extensions) {
assert extensions!=null;
this.extensions = extensions;
}
public void start(WSDLParserExtensionContext context) {
for (WSDLParserExtension e : extensions) {
e.start(context);
}
}
public boolean serviceElements(EditableWSDLService service, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if(e.serviceElements(service,reader))
return true;
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void serviceAttributes(EditableWSDLService service, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions)
e.serviceAttributes(service,reader);
}
public boolean portElements(EditableWSDLPort port, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if(e.portElements(port,reader))
return true;
}
//extension is not understood by any WSDlParserExtension
//Check if it must be understood.
if(isRequiredExtension(reader)) {
port.addNotUnderstoodExtension(reader.getName(),getLocator(reader));
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public boolean portTypeOperationInput(EditableWSDLOperation op, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions)
e.portTypeOperationInput(op,reader);
return false;
}
public boolean portTypeOperationOutput(EditableWSDLOperation op, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions)
e.portTypeOperationOutput(op,reader);
return false;
}
public boolean portTypeOperationFault(EditableWSDLOperation op, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions)
e.portTypeOperationFault(op,reader);
return false;
}
public void portAttributes(EditableWSDLPort port, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions)
e.portAttributes(port,reader);
}
public boolean definitionsElements(XMLStreamReader reader){
for (WSDLParserExtension e : extensions) {
if (e.definitionsElements(reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public boolean bindingElements(EditableWSDLBoundPortType binding, XMLStreamReader reader){
for (WSDLParserExtension e : extensions) {
if (e.bindingElements(binding, reader)) {
return true;
}
}
//extension is not understood by any WSDlParserExtension
//Check if it must be understood.
if (isRequiredExtension(reader)) {
binding.addNotUnderstoodExtension(
reader.getName(), getLocator(reader));
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void bindingAttributes(EditableWSDLBoundPortType binding, XMLStreamReader reader){
for (WSDLParserExtension e : extensions) {
e.bindingAttributes(binding, reader);
}
}
public boolean portTypeElements(EditableWSDLPortType portType, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if (e.portTypeElements(portType, reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void portTypeAttributes(EditableWSDLPortType portType, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
e.portTypeAttributes(portType, reader);
}
}
public boolean portTypeOperationElements(EditableWSDLOperation operation, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if (e.portTypeOperationElements(operation, reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void portTypeOperationAttributes(EditableWSDLOperation operation, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
e.portTypeOperationAttributes(operation, reader);
}
}
public boolean bindingOperationElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if (e.bindingOperationElements(operation, reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void bindingOperationAttributes(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
e.bindingOperationAttributes(operation, reader);
}
}
public boolean messageElements(EditableWSDLMessage msg, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if (e.messageElements(msg, reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void messageAttributes(EditableWSDLMessage msg, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
e.messageAttributes(msg, reader);
}
}
public boolean portTypeOperationInputElements(EditableWSDLInput input, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if (e.portTypeOperationInputElements(input, reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void portTypeOperationInputAttributes(EditableWSDLInput input, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
e.portTypeOperationInputAttributes(input, reader);
}
}
public boolean portTypeOperationOutputElements(EditableWSDLOutput output, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if (e.portTypeOperationOutputElements(output, reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void portTypeOperationOutputAttributes(EditableWSDLOutput output, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
e.portTypeOperationOutputAttributes(output, reader);
}
}
public boolean portTypeOperationFaultElements(EditableWSDLFault fault, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if (e.portTypeOperationFaultElements(fault, reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void portTypeOperationFaultAttributes(EditableWSDLFault fault, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
e.portTypeOperationFaultAttributes(fault, reader);
}
}
public boolean bindingOperationInputElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if (e.bindingOperationInputElements(operation, reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void bindingOperationInputAttributes(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
e.bindingOperationInputAttributes(operation, reader);
}
}
public boolean bindingOperationOutputElements(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if (e.bindingOperationOutputElements(operation, reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void bindingOperationOutputAttributes(EditableWSDLBoundOperation operation, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
e.bindingOperationOutputAttributes(operation, reader);
}
}
public boolean bindingOperationFaultElements(EditableWSDLBoundFault fault, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
if (e.bindingOperationFaultElements(fault, reader)) {
return true;
}
}
XMLStreamReaderUtil.skipElement(reader);
return true;
}
public void bindingOperationFaultAttributes(EditableWSDLBoundFault fault, XMLStreamReader reader) {
for (WSDLParserExtension e : extensions) {
e.bindingOperationFaultAttributes(fault, reader);
}
}
public void finished(WSDLParserExtensionContext context) {
for (WSDLParserExtension e : extensions) {
e.finished(context);
}
}
public void postFinished(WSDLParserExtensionContext context) {
for (WSDLParserExtension e : extensions) {
e.postFinished(context);
}
}
/**
*
* @param reader
* @return If the element has wsdl:required attribute set to true
*/
private boolean isRequiredExtension(XMLStreamReader reader) {
String required = reader.getAttributeValue(WSDLConstants.NS_WSDL, "required");
if(required != null)
return Boolean.parseBoolean(required);
return false;
}
private Locator getLocator(XMLStreamReader reader) {
Location location = reader.getLocation();
LocatorImpl loc = new LocatorImpl();
loc.setSystemId(location.getSystemId());
loc.setLineNumber(location.getLineNumber());
return loc;
}
}

View File

@@ -0,0 +1,72 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer;
import com.sun.istack.internal.Nullable;
import com.sun.xml.internal.ws.api.server.SDDocument;
/**
* Resolves relative references among the metadata(WSDL, schema)
* documents.
*
* <p>
* This interface is implemented by the caller of
* {@link SDDocument#writeTo} method so that the {@link SDDocument} can
* correctly produce references to other documents.
*
* <h2>Usage Example 1</h2>
* <p>
* Say: http://localhost/hello?wsdl has reference to
* <p>
* &lt;xsd:import namespace="urn:test:types" schemaLocation="http://localhost/hello?xsd=1"/>
*
* <p>
* Using this class, it is possible to write A.wsdl to a local filesystem with
* a local file schema import.
* <p>
* &lt;xsd:import namespace="urn:test:types" schemaLocation="hello.xsd"/>
*
* @author Jitendra Kotamraju
*/
public interface DocumentLocationResolver {
/**
* Produces a relative reference from one document to another.
*
* @param namespaceURI
* The namespace urI for the referenced document.
* for e.g. wsdl:import/@namespace, xsd:import/@namespace
* @param systemId
* The location value for the referenced document.
* for e.g. wsdl:import/@location, xsd:import/@schemaLocation
* @return
* The reference to be put inside {@code current} to refer to
* {@code referenced}. This can be a relative URL as well as
* an absolute. If null is returned, then the document
* will produce a "implicit reference" (for example, &lt;xs:import>
* without the @schemaLocation attribute, etc).
*/
@Nullable String getLocationFor(String namespaceURI, String systemId);
}

View File

@@ -0,0 +1,97 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer;
import java.util.Stack;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import com.sun.xml.internal.txw2.TypedXmlWriter;
public class TXWContentHandler implements ContentHandler {
Stack<TypedXmlWriter> stack;
public TXWContentHandler(TypedXmlWriter txw) {
stack = new Stack<TypedXmlWriter>();
stack.push(txw);
}
public void setDocumentLocator(Locator locator) {
}
public void startDocument() throws SAXException {
}
public void endDocument() throws SAXException {
}
public void startPrefixMapping(String prefix, String uri) throws SAXException {
}
public void endPrefixMapping(String prefix) throws SAXException {
}
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
TypedXmlWriter txw = stack.peek()._element(uri, localName, TypedXmlWriter.class);
stack.push(txw);
if (atts != null) {
for(int i = 0; i < atts.getLength(); i++) {
String auri = atts.getURI(i);
if ("http://www.w3.org/2000/xmlns/".equals(auri)) {
if ("xmlns".equals(atts.getLocalName(i)))
txw._namespace(atts.getValue(i), "");
else
txw._namespace(atts.getValue(i),atts.getLocalName(i));
} else {
if ("schemaLocation".equals(atts.getLocalName(i))
&& "".equals(atts.getValue(i)))
continue;
txw._attribute(auri, atts.getLocalName(i), atts.getValue(i));
}
}
}
}
public void endElement(String uri, String localName, String qName) throws SAXException {
stack.pop();
}
public void characters(char[] ch, int start, int length) throws SAXException {
}
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {
}
public void processingInstruction(String target, String data) throws SAXException {
}
public void skippedEntity(String name) throws SAXException {
}
}

View File

@@ -0,0 +1,42 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.addressing.W3CAddressingConstants;
import com.sun.xml.internal.ws.wsdl.writer.document.StartWithExtensionsType;
/**
* @author Arun Gupta
*/
@XmlElement(value = W3CAddressingConstants.WSA_NAMESPACE_WSDL_NAME,
ns = W3CAddressingConstants.WSAW_USING_ADDRESSING_NAME)
public interface UsingAddressing extends TypedXmlWriter, StartWithExtensionsType {
@XmlAttribute(value = "required", ns = "http://schemas.xmlsoap.org/wsdl/")
public void required(boolean b);
}

View File

@@ -0,0 +1,151 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer;
import com.sun.xml.internal.ws.api.wsdl.writer.WSDLGeneratorExtension;
import com.sun.xml.internal.ws.api.wsdl.writer.WSDLGenExtnContext;
import com.sun.xml.internal.ws.api.model.JavaMethod;
import com.sun.xml.internal.ws.api.model.CheckedException;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import static com.sun.xml.internal.ws.addressing.W3CAddressingMetadataConstants.*;
import com.sun.xml.internal.ws.model.JavaMethodImpl;
import com.sun.xml.internal.ws.model.CheckedExceptionImpl;
import com.sun.xml.internal.ws.addressing.WsaActionUtil;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.logging.Logger;
/**
* This extension class generates wsam:Action values for input, output and faults in the generated wsdl.
*
* @author Rama Pulavarthi
*/
public class W3CAddressingMetadataWSDLGeneratorExtension extends
WSDLGeneratorExtension {
@Override
public void start(WSDLGenExtnContext ctxt) {
TypedXmlWriter root = ctxt.getRoot();
root._namespace(WSAM_NAMESPACE_NAME, WSAM_PREFIX_NAME);
}
@Override
public void addOperationInputExtension(TypedXmlWriter input,
JavaMethod method) {
input._attribute(WSAM_ACTION_QNAME, getInputAction(method));
}
@Override
public void addOperationOutputExtension(TypedXmlWriter output,
JavaMethod method) {
output._attribute(WSAM_ACTION_QNAME, getOutputAction(method));
}
@Override
public void addOperationFaultExtension(TypedXmlWriter fault,
JavaMethod method, CheckedException ce) {
fault._attribute(WSAM_ACTION_QNAME, getFaultAction(method, ce));
}
private static final String getInputAction(JavaMethod method) {
String inputaction = ((JavaMethodImpl)method).getInputAction();
if (inputaction.equals("")) {
// Calculate default action
inputaction = getDefaultInputAction(method);
}
return inputaction;
}
protected static final String getDefaultInputAction(JavaMethod method) {
String tns = method.getOwner().getTargetNamespace();
String delim = getDelimiter(tns);
if (tns.endsWith(delim))
tns = tns.substring(0, tns.length() - 1);
//this assumes that fromjava case there won't be input name.
// if there is input name in future, then here name=inputName
//else use operation name as follows.
String name = (method.getMEP().isOneWay()) ?
method.getOperationName() : method.getOperationName() + "Request";
return new StringBuilder(tns).append(delim).append(
method.getOwner().getPortTypeName().getLocalPart()).append(
delim).append(name).toString();
}
private static final String getOutputAction(JavaMethod method) {
String outputaction = ((JavaMethodImpl)method).getOutputAction();
if(outputaction.equals(""))
outputaction = getDefaultOutputAction(method);
return outputaction;
}
protected static final String getDefaultOutputAction(JavaMethod method) {
String tns = method.getOwner().getTargetNamespace();
String delim = getDelimiter(tns);
if (tns.endsWith(delim))
tns = tns.substring(0, tns.length() - 1);
//this assumes that fromjava case there won't be output name.
// if there is input name in future, then here name=outputName
//else use operation name as follows.
String name = method.getOperationName() + "Response";
return new StringBuilder(tns).append(delim).append(
method.getOwner().getPortTypeName().getLocalPart()).append(
delim).append(name).toString();
}
private static final String getDelimiter(String tns) {
String delim = "/";
// TODO: is this the correct way to find the separator ?
try {
URI uri = new URI(tns);
if ((uri.getScheme() != null) && uri.getScheme().equalsIgnoreCase("urn"))
delim = ":";
} catch (URISyntaxException e) {
LOGGER.warning("TargetNamespace of WebService is not a valid URI");
}
return delim;
}
private static final String getFaultAction(JavaMethod method,
CheckedException ce) {
String faultaction = ((CheckedExceptionImpl)ce).getFaultAction();
if (faultaction.equals("")) {
faultaction = getDefaultFaultAction(method,ce);
}
return faultaction;
}
protected static final String getDefaultFaultAction(JavaMethod method, CheckedException ce) {
return WsaActionUtil.getDefaultFaultAction(method,ce);
}
private static final Logger LOGGER =
Logger.getLogger(W3CAddressingMetadataWSDLGeneratorExtension.class.getName());
}

View File

@@ -0,0 +1,158 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.ws.api.WSBinding;
import com.sun.xml.internal.ws.api.addressing.AddressingVersion;
import com.sun.xml.internal.ws.api.model.CheckedException;
import com.sun.xml.internal.ws.api.model.JavaMethod;
import com.sun.xml.internal.ws.api.wsdl.writer.WSDLGenExtnContext;
import com.sun.xml.internal.ws.api.wsdl.writer.WSDLGeneratorExtension;
import javax.xml.ws.Action;
import javax.xml.ws.FaultAction;
import javax.xml.ws.soap.AddressingFeature;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.logging.Logger;
/**
* @author Arun Gupta
* @author Rama Pulavarthi
*/
public class W3CAddressingWSDLGeneratorExtension extends WSDLGeneratorExtension {
private boolean enabled;
private boolean required = false;
@Override
public void start(WSDLGenExtnContext ctxt) {
WSBinding binding = ctxt.getBinding();
TypedXmlWriter root = ctxt.getRoot();
enabled = binding.isFeatureEnabled(AddressingFeature.class);
if (!enabled)
return;
AddressingFeature ftr = binding.getFeature(AddressingFeature.class);
required = ftr.isRequired();
root._namespace(AddressingVersion.W3C.wsdlNsUri, AddressingVersion.W3C.getWsdlPrefix());
}
@Override
public void addOperationInputExtension(TypedXmlWriter input, JavaMethod method) {
if (!enabled)
return;
Action a = method.getSEIMethod().getAnnotation(Action.class);
if (a != null && !a.input().equals("")) {
addAttribute(input, a.input());
} else {
String soapAction = method.getBinding().getSOAPAction();
// in SOAP 1.2 soapAction is optional ...
if (soapAction == null || soapAction.equals("")) {
//hack: generate default action for interop with .Net3.0 when soapAction is non-empty
String defaultAction = getDefaultAction(method);
addAttribute(input, defaultAction);
}
}
}
protected static final String getDefaultAction(JavaMethod method) {
String tns = method.getOwner().getTargetNamespace();
String delim = "/";
// TODO: is this the correct way to find the separator ?
try {
URI uri = new URI(tns);
if(uri.getScheme().equalsIgnoreCase("urn"))
delim = ":";
} catch (URISyntaxException e) {
LOGGER.warning("TargetNamespace of WebService is not a valid URI");
}
if (tns.endsWith(delim))
tns = tns.substring(0, tns.length() - 1);
//this assumes that fromjava case there won't be input name.
// if there is input name in future, then here name=inputName
//else use operation name as follows.
String name = (method.getMEP().isOneWay())?method.getOperationName():method.getOperationName()+"Request";
return new StringBuilder(tns).append(delim).append(
method.getOwner().getPortTypeName().getLocalPart()).append(
delim).append(name).toString();
}
@Override
public void addOperationOutputExtension(TypedXmlWriter output, JavaMethod method) {
if (!enabled)
return;
Action a = method.getSEIMethod().getAnnotation(Action.class);
if (a != null && !a.output().equals("")) {
addAttribute(output, a.output());
}
}
@Override
public void addOperationFaultExtension(TypedXmlWriter fault, JavaMethod method, CheckedException ce) {
if (!enabled)
return;
Action a = method.getSEIMethod().getAnnotation(Action.class);
Class[] exs = method.getSEIMethod().getExceptionTypes();
if (exs == null)
return;
if (a != null && a.fault() != null) {
for (FaultAction fa : a.fault()) {
if (fa.className().getName().equals(ce.getExceptionClass().getName())) {
if (fa.value().equals(""))
return;
addAttribute(fault, fa.value());
return;
}
}
}
}
private void addAttribute(TypedXmlWriter writer, String attrValue) {
writer._attribute(AddressingVersion.W3C.wsdlActionTag, attrValue);
}
@Override
public void addBindingExtension(TypedXmlWriter binding) {
if (!enabled)
return;
binding._element(AddressingVersion.W3C.wsdlExtensionTag, UsingAddressing.class);
/*
Do not generate wsdl:required=true
if(required) {
ua.required(true);
}
*/
}
private static final Logger LOGGER = Logger.getLogger(W3CAddressingWSDLGeneratorExtension.class.getName());
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,143 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer;
import com.sun.istack.internal.NotNull;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.ws.api.model.CheckedException;
import com.sun.xml.internal.ws.api.model.JavaMethod;
import com.sun.xml.internal.ws.api.wsdl.writer.WSDLGenExtnContext;
import com.sun.xml.internal.ws.api.wsdl.writer.WSDLGeneratorExtension;
/**
* {@link WSDLGeneratorExtension} that delegates to
* multiple {@link WSDLGeneratorExtension}s.
*
* <p>
* This simplifies {@link WSDLGenerator} since it now
* only needs to work with one {@link WSDLGeneratorExtension}.
*
*
* @author Doug Kohlert
*/
final class WSDLGeneratorExtensionFacade extends WSDLGeneratorExtension {
private final WSDLGeneratorExtension[] extensions;
WSDLGeneratorExtensionFacade(WSDLGeneratorExtension... extensions) {
assert extensions!=null;
this.extensions = extensions;
}
public void start(WSDLGenExtnContext ctxt) {
for (WSDLGeneratorExtension e : extensions)
e.start(ctxt);
}
public void end(@NotNull WSDLGenExtnContext ctxt) {
for (WSDLGeneratorExtension e : extensions)
e.end(ctxt);
}
public void addDefinitionsExtension(TypedXmlWriter definitions) {
for (WSDLGeneratorExtension e : extensions)
e.addDefinitionsExtension(definitions);
}
public void addServiceExtension(TypedXmlWriter service) {
for (WSDLGeneratorExtension e : extensions)
e.addServiceExtension(service);
}
public void addPortExtension(TypedXmlWriter port) {
for (WSDLGeneratorExtension e : extensions)
e.addPortExtension(port);
}
public void addPortTypeExtension(TypedXmlWriter portType) {
for (WSDLGeneratorExtension e : extensions)
e.addPortTypeExtension(portType);
}
public void addBindingExtension(TypedXmlWriter binding) {
for (WSDLGeneratorExtension e : extensions)
e.addBindingExtension(binding);
}
public void addOperationExtension(TypedXmlWriter operation, JavaMethod method) {
for (WSDLGeneratorExtension e : extensions)
e.addOperationExtension(operation, method);
}
public void addBindingOperationExtension(TypedXmlWriter operation, JavaMethod method) {
for (WSDLGeneratorExtension e : extensions)
e.addBindingOperationExtension(operation, method);
}
public void addInputMessageExtension(TypedXmlWriter message, JavaMethod method) {
for (WSDLGeneratorExtension e : extensions)
e.addInputMessageExtension(message, method);
}
public void addOutputMessageExtension(TypedXmlWriter message, JavaMethod method) {
for (WSDLGeneratorExtension e : extensions)
e.addOutputMessageExtension(message, method);
}
public void addOperationInputExtension(TypedXmlWriter input, JavaMethod method) {
for (WSDLGeneratorExtension e : extensions)
e.addOperationInputExtension(input, method);
}
public void addOperationOutputExtension(TypedXmlWriter output, JavaMethod method) {
for (WSDLGeneratorExtension e : extensions)
e.addOperationOutputExtension(output, method);
}
public void addBindingOperationInputExtension(TypedXmlWriter input, JavaMethod method) {
for (WSDLGeneratorExtension e : extensions)
e.addBindingOperationInputExtension(input, method);
}
public void addBindingOperationOutputExtension(TypedXmlWriter output, JavaMethod method) {
for (WSDLGeneratorExtension e : extensions)
e.addBindingOperationOutputExtension(output, method);
}
public void addBindingOperationFaultExtension(TypedXmlWriter fault, JavaMethod method, CheckedException ce) {
for (WSDLGeneratorExtension e : extensions)
e.addBindingOperationFaultExtension(fault, method, ce);
}
public void addFaultMessageExtension(TypedXmlWriter message, JavaMethod method, CheckedException ce) {
for (WSDLGeneratorExtension e : extensions)
e.addFaultMessageExtension(message, method, ce);
}
public void addOperationFaultExtension(TypedXmlWriter fault, JavaMethod method, CheckedException ce) {
for (WSDLGeneratorExtension e : extensions)
e.addOperationFaultExtension(fault, method, ce);
}
}

View File

@@ -0,0 +1,237 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer;
import com.sun.istack.internal.NotNull;
import com.sun.xml.internal.ws.api.server.PortAddressResolver;
import com.sun.xml.internal.ws.util.xml.XMLStreamReaderToXMLStreamWriter;
import com.sun.xml.internal.ws.wsdl.parser.WSDLConstants;
import com.sun.xml.internal.ws.addressing.W3CAddressingConstants;
import com.sun.xml.internal.ws.addressing.v200408.MemberSubmissionAddressingConstants;
import com.sun.istack.internal.Nullable;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import java.util.logging.Logger;
/**
* Patches WSDL with the correct endpoint address and the relative paths
* to other documents.
*
* @author Jitendra Kotamraju
* @author Kohsuke Kawaguchi
*/
public final class WSDLPatcher extends XMLStreamReaderToXMLStreamWriter {
private static final String NS_XSD = "http://www.w3.org/2001/XMLSchema";
private static final QName SCHEMA_INCLUDE_QNAME = new QName(NS_XSD, "include");
private static final QName SCHEMA_IMPORT_QNAME = new QName(NS_XSD, "import");
private static final QName SCHEMA_REDEFINE_QNAME = new QName(NS_XSD, "redefine");
private static final Logger logger = Logger.getLogger(
com.sun.xml.internal.ws.util.Constants.LoggingDomain + ".wsdl.patcher");
private final DocumentLocationResolver docResolver;
private final PortAddressResolver portAddressResolver;
//
// fields accumulated as we parse through documents
//
private String targetNamespace;
private QName serviceName;
private QName portName;
private String portAddress;
// true inside <wsdl:service>/<wsdl:part>/<wsa:EndpointReference>
private boolean inEpr;
// true inside <wsdl:service>/<wsdl:part>/<wsa:EndpointReference>/<wsa:Address>
private boolean inEprAddress;
/**
* Creates a {@link WSDLPatcher} for patching WSDL.
*
* @param portAddressResolver
* address of the endpoint is resolved using this docResolver.
* @param docResolver
* Consulted to get the import/include document locations.
* Must not be null.
*/
public WSDLPatcher(@NotNull PortAddressResolver portAddressResolver,
@NotNull DocumentLocationResolver docResolver) {
this.portAddressResolver = portAddressResolver;
this.docResolver = docResolver;
}
@Override
protected void handleAttribute(int i) throws XMLStreamException {
QName name = in.getName();
String attLocalName = in.getAttributeLocalName(i);
if((name.equals(SCHEMA_INCLUDE_QNAME) && attLocalName.equals("schemaLocation"))
|| (name.equals(SCHEMA_IMPORT_QNAME) && attLocalName.equals("schemaLocation"))
|| (name.equals(SCHEMA_REDEFINE_QNAME) && attLocalName.equals("schemaLocation"))
|| (name.equals(WSDLConstants.QNAME_IMPORT) && attLocalName.equals("location"))) {
// patch this attribute value.
String relPath = in.getAttributeValue(i);
String actualPath = getPatchedImportLocation(relPath);
if (actualPath == null) {
return; // skip this attribute to leave it up to "implicit reference".
}
logger.fine("Fixing the relative location:"+relPath
+" with absolute location:"+actualPath);
writeAttribute(i, actualPath);
return;
}
if (name.equals(WSDLConstants.NS_SOAP_BINDING_ADDRESS) ||
name.equals(WSDLConstants.NS_SOAP12_BINDING_ADDRESS)) {
if(attLocalName.equals("location")) {
portAddress = in.getAttributeValue(i);
String value = getAddressLocation();
if (value != null) {
logger.fine("Service:"+serviceName+ " port:"+portName
+ " current address "+portAddress+" Patching it with "+value);
writeAttribute(i, value);
return;
}
}
}
super.handleAttribute(i);
}
/**
* Writes out an {@code i}-th attribute but with a different value.
* @param i attribute index
* @param value attribute value
* @throws XMLStreamException when an error encountered while writing attribute
*/
private void writeAttribute(int i, String value) throws XMLStreamException {
String nsUri = in.getAttributeNamespace(i);
if(nsUri!=null)
out.writeAttribute( in.getAttributePrefix(i), nsUri, in.getAttributeLocalName(i), value );
else
out.writeAttribute( in.getAttributeLocalName(i), value );
}
@Override
protected void handleStartElement() throws XMLStreamException {
QName name = in.getName();
if (name.equals(WSDLConstants.QNAME_DEFINITIONS)) {
String value = in.getAttributeValue(null,"targetNamespace");
if (value != null) {
targetNamespace = value;
}
} else if (name.equals(WSDLConstants.QNAME_SERVICE)) {
String value = in.getAttributeValue(null,"name");
if (value != null) {
serviceName = new QName(targetNamespace, value);
}
} else if (name.equals(WSDLConstants.QNAME_PORT)) {
String value = in.getAttributeValue(null,"name");
if (value != null) {
portName = new QName(targetNamespace,value);
}
} else if (name.equals(W3CAddressingConstants.WSA_EPR_QNAME)
|| name.equals(MemberSubmissionAddressingConstants.WSA_EPR_QNAME)) {
if (serviceName != null && portName != null) {
inEpr = true;
}
} else if (name.equals(W3CAddressingConstants.WSA_ADDRESS_QNAME)
|| name.equals(MemberSubmissionAddressingConstants.WSA_ADDRESS_QNAME)) {
if (inEpr) {
inEprAddress = true;
}
}
super.handleStartElement();
}
@Override
protected void handleEndElement() throws XMLStreamException {
QName name = in.getName();
if (name.equals(WSDLConstants.QNAME_SERVICE)) {
serviceName = null;
} else if (name.equals(WSDLConstants.QNAME_PORT)) {
portName = null;
} else if (name.equals(W3CAddressingConstants.WSA_EPR_QNAME)
|| name.equals(MemberSubmissionAddressingConstants.WSA_EPR_QNAME)) {
if (inEpr) {
inEpr = false;
}
} else if (name.equals(W3CAddressingConstants.WSA_ADDRESS_QNAME)
|| name.equals(MemberSubmissionAddressingConstants.WSA_ADDRESS_QNAME)) {
if (inEprAddress) {
String value = getAddressLocation();
if (value != null) {
logger.fine("Fixing EPR Address for service:"+serviceName+ " port:"+portName
+ " address with "+value);
out.writeCharacters(value);
}
inEprAddress = false;
}
}
super.handleEndElement();
}
@Override
protected void handleCharacters() throws XMLStreamException {
// handleCharacters() may be called multiple times.
if (inEprAddress) {
String value = getAddressLocation();
if (value != null) {
// will write the address with <wsa:Address> end element
return;
}
}
super.handleCharacters();
}
/**
* Returns the location to be placed into the generated document.
*
* @param relPath relative URI to be resolved
* @return
* null to leave it to the "implicit reference".
*/
private @Nullable String getPatchedImportLocation(String relPath) {
return docResolver.getLocationFor(null, relPath);
}
/**
* For the given service, port names it matches the correct endpoint and
* reutrns its endpoint address
*
* @return returns the resolved endpoint address
*/
private String getAddressLocation() {
return (portAddressResolver == null || portName == null)
? null : portAddressResolver.getAddressFor(serviceName, portName.getLocalPart(), portAddress);
}
}

View File

@@ -0,0 +1,34 @@
/*
* 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer;
/**
* @deprecated Use com.oracle.webservices.internal.api.databinding.WSDLResolver directly
*
*/
public interface WSDLResolver extends com.oracle.webservices.internal.api.databinding.WSDLResolver {
}

View File

@@ -0,0 +1,59 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import javax.xml.namespace.QName;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.soap.SOAPBinding;
/**
*
* @author WS Development Team
*/
@XmlElement("binding")
public interface Binding
extends TypedXmlWriter, StartWithExtensionsType
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Binding type(QName value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Binding name(String value);
@XmlElement
public BindingOperationType operation();
@XmlElement(value="binding",ns="http://schemas.xmlsoap.org/wsdl/soap/")
public SOAPBinding soapBinding();
@XmlElement(value="binding",ns="http://schemas.xmlsoap.org/wsdl/soap12/")
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.SOAPBinding soap12Binding();
}

View File

@@ -0,0 +1,62 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.Fault;
import com.sun.xml.internal.ws.wsdl.writer.document.StartWithExtensionsType;
import com.sun.xml.internal.ws.wsdl.writer.document.soap.SOAPOperation;
/**
*
* @author WS Development Team
*/
public interface BindingOperationType
extends TypedXmlWriter, StartWithExtensionsType
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.BindingOperationType name(String value);
@XmlElement(value="operation",ns="http://schemas.xmlsoap.org/wsdl/soap/")
public SOAPOperation soapOperation();
@XmlElement(value="operation",ns="http://schemas.xmlsoap.org/wsdl/soap12/")
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.SOAPOperation soap12Operation();
@XmlElement
public Fault fault();
@XmlElement
public StartWithExtensionsType output();
@XmlElement
public StartWithExtensionsType input();
}

View File

@@ -0,0 +1,66 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("definitions")
public interface Definitions
extends TypedXmlWriter, Documented
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Definitions name(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Definitions targetNamespace(String value);
@XmlElement
public Service service();
@XmlElement
public Binding binding();
@XmlElement
public PortType portType();
@XmlElement
public Message message();
@XmlElement
public Types types();
@XmlElement("import")
public Import _import();
}

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
public interface Documented
extends TypedXmlWriter
{
@XmlElement
public com.sun.xml.internal.ws.wsdl.writer.document.Documented documentation(String value);
}

View File

@@ -0,0 +1,46 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.StartWithExtensionsType;
/**
*
* @author WS Development Team
*/
@XmlElement("fault")
public interface Fault
extends TypedXmlWriter, StartWithExtensionsType
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Fault name(String value);
}

View File

@@ -0,0 +1,44 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import javax.xml.namespace.QName;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
public interface FaultType
extends TypedXmlWriter, Documented
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.FaultType message(QName value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.FaultType name(String value);
}

View File

@@ -0,0 +1,49 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
/**
*
* @author WS Development Team
*/
@XmlElement("import")
public interface Import
extends TypedXmlWriter, Documented
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Import location(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Import namespace(String value);
}

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("message")
public interface Message
extends TypedXmlWriter, Documented
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Message name(String value);
@XmlElement
public Part part();
}

View File

@@ -0,0 +1,36 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
/**
*
* @author WS Development Team
*/
public interface OpenAtts extends TypedXmlWriter, Documented {
}

View File

@@ -0,0 +1,69 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
/**
*
* @author WS Development Team
*/
@XmlElement("operation")
public interface Operation
extends TypedXmlWriter, Documented
{
/*
@XmlElement("notification-operation")
public NotificationOperation notificationOperation();
@XmlElement("solicit-response-operation")
public SolicitResponseOperation solicitResponseOperation();
@XmlElement("request-response-operation")
public RequestResponseOperation requestResponseOperation();
@XmlElement("one-way-operation")
public OneWayOperation oneWayOperation();
*/
@XmlElement
public ParamType input();
@XmlElement
public ParamType output();
@XmlElement
public FaultType fault();
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Operation name(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Operation parameterOrder(String value);
}

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import javax.xml.namespace.QName;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
/**
*
* @author WS Development Team
*/
public interface ParamType
extends TypedXmlWriter, Documented
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.ParamType message(QName value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.ParamType name(String value);
}

View File

@@ -0,0 +1,53 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import javax.xml.namespace.QName;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.OpenAtts;
/**
*
* @author WS Development Team
*/
@XmlElement("part")
public interface Part
extends TypedXmlWriter, OpenAtts
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Part element(QName value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Part type(QName value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Part name(String value);
}

View File

@@ -0,0 +1,53 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import javax.xml.namespace.QName;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
/**
*
* @author WS Development Team
*/
@XmlElement("port")
public interface Port
extends TypedXmlWriter, Documented
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Port name(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Port arrayType(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Port binding(QName value);
}

View File

@@ -0,0 +1,50 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
import com.sun.xml.internal.ws.wsdl.writer.document.Operation;
/**
*
* @author WS Development Team
*/
@XmlElement("portType")
public interface PortType
extends TypedXmlWriter, Documented
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.PortType name(String value);
@XmlElement
public Operation operation();
}

View File

@@ -0,0 +1,50 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
import com.sun.xml.internal.ws.wsdl.writer.document.Port;
/**
*
* @author WS Development Team
*/
@XmlElement("service")
public interface Service
extends TypedXmlWriter, Documented
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.Service name(String value);
@XmlElement
public Port port();
}

View File

@@ -0,0 +1,37 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
/**
*
* @author WS Development Team
*/
public interface StartWithExtensionsType extends TypedXmlWriter, Documented {
}

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
import com.sun.xml.internal.ws.wsdl.writer.document.xsd.Schema;
/**
*
* @author WS Development Team
*/
@XmlElement("types")
public interface Types
extends TypedXmlWriter, Documented
{
@XmlElement(value="schema",ns="http://www.w3.org/2001/XMLSchema")
public Schema schema();
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.http;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("address")
public interface Address
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.http.Address location(String value);
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.http;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("binding")
public interface Binding
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.http.Binding verb(String value);
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.http;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("operation")
public interface Operation
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.http.Operation location(String value);
}

View File

@@ -0,0 +1,31 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
*
* @author WS Development Team
*/
@com.sun.xml.internal.txw2.annotation.XmlNamespace("http://schemas.xmlsoap.org/wsdl/http/")
package com.sun.xml.internal.ws.wsdl.writer.document.http;

View File

@@ -0,0 +1,31 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
*
* @author WS Development Team
*/
@com.sun.xml.internal.txw2.annotation.XmlNamespace("http://schemas.xmlsoap.org/wsdl/")
package com.sun.xml.internal.ws.wsdl.writer.document;

View File

@@ -0,0 +1,42 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.soap.BodyType;
/**
*
* @author WS Development Team
*/
@XmlElement("body")
public interface Body
extends TypedXmlWriter, BodyType
{
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
/**
*
* @author WS Development Team
*/
public interface BodyType
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.BodyType encodingStyle(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.BodyType namespace(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.BodyType use(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.BodyType parts(String value);
}

View File

@@ -0,0 +1,54 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap;
import javax.xml.namespace.QName;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.soap.BodyType;
import com.sun.xml.internal.ws.wsdl.writer.document.soap.HeaderFault;
/**
*
* @author WS Development Team
*/
@XmlElement("header")
public interface Header
extends TypedXmlWriter, BodyType
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.Header message(QName value);
@XmlElement
public HeaderFault headerFault();
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.BodyType part(String value);
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap;
import javax.xml.namespace.QName;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.soap.BodyType;
/**
*
* @author WS Development Team
*/
@XmlElement("headerFault")
public interface HeaderFault
extends TypedXmlWriter, BodyType
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.HeaderFault message(QName value);
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("address")
public interface SOAPAddress
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.SOAPAddress location(String value);
}

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("binding")
public interface SOAPBinding
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.SOAPBinding transport(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.SOAPBinding style(String value);
}

View File

@@ -0,0 +1,44 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.soap.BodyType;
/**
*
* @author WS Development Team
*/
@XmlElement("fault")
public interface SOAPFault
extends TypedXmlWriter, BodyType
{
@XmlAttribute
public SOAPFault name(String value);
}

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("operation")
public interface SOAPOperation
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.SOAPOperation soapAction(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap.SOAPOperation style(String value);
}

View File

@@ -0,0 +1,31 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
*
* @author WS Development Team
*/
@com.sun.xml.internal.txw2.annotation.XmlNamespace("http://schemas.xmlsoap.org/wsdl/soap/")
package com.sun.xml.internal.ws.wsdl.writer.document.soap;

View File

@@ -0,0 +1,41 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap12;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("body")
public interface Body
extends TypedXmlWriter, BodyType
{
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap12;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
/**
*
* @author WS Development Team
*/
public interface BodyType
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.BodyType encodingStyle(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.BodyType namespace(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.BodyType use(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.BodyType parts(String value);
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap12;
import javax.xml.namespace.QName;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("header")
public interface Header
extends TypedXmlWriter, BodyType
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.Header message(QName value);
@XmlElement
public HeaderFault headerFault();
@XmlAttribute
public BodyType part(String value);
}

View File

@@ -0,0 +1,46 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap12;
import javax.xml.namespace.QName;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("headerFault")
public interface HeaderFault
extends TypedXmlWriter, BodyType
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.HeaderFault message(QName value);
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap12;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("address")
public interface SOAPAddress
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.SOAPAddress location(String value);
}

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap12;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("binding")
public interface SOAPBinding
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.SOAPBinding transport(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.SOAPBinding style(String value);
}

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap12;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("fault")
public interface SOAPFault
extends TypedXmlWriter, BodyType
{
@XmlAttribute
public SOAPFault name(String value);
}

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.soap12;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
/**
*
* @author WS Development Team
*/
@XmlElement("operation")
public interface SOAPOperation
extends TypedXmlWriter
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.SOAPOperation soapAction(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.soap12.SOAPOperation style(String value);
}

View File

@@ -0,0 +1,31 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
*
* @author WS Development Team
*/
@com.sun.xml.internal.txw2.annotation.XmlNamespace("http://schemas.xmlsoap.org/wsdl/soap12/")
package com.sun.xml.internal.ws.wsdl.writer.document.soap12;

View File

@@ -0,0 +1,50 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.xsd;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.Documented;
import com.sun.xml.internal.ws.wsdl.writer.document.*;
/**
*
* @author WS Development Team
*/
@XmlElement("import")
public interface Import
extends TypedXmlWriter, Documented
{
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.xsd.Import schemaLocation(String value);
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.xsd.Import namespace(String value);
}

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.xml.internal.ws.wsdl.writer.document.xsd;
import com.sun.xml.internal.txw2.TypedXmlWriter;
import com.sun.xml.internal.txw2.annotation.XmlAttribute;
import com.sun.xml.internal.txw2.annotation.XmlElement;
import com.sun.xml.internal.ws.wsdl.writer.document.*;
/**
*
* @author WS Development Team
*/
@XmlElement("schema")
public interface Schema
extends TypedXmlWriter, Documented
{
@XmlElement("import")
public Import _import();
@XmlAttribute
public com.sun.xml.internal.ws.wsdl.writer.document.xsd.Schema targetNamespace(String value);
}

View File

@@ -0,0 +1,31 @@
/*
* Copyright (c) 1997, 2012, 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
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
*
* @author WS Development Team
*/
@com.sun.xml.internal.txw2.annotation.XmlNamespace("http://www.w3.org/2001/XMLSchema")
package com.sun.xml.internal.ws.wsdl.writer.document.xsd;