antelder 2003/01/03 02:41:41
Added: java/test/interop/wsifservice ComplexDocument_Type.java
interopdocLocal.wsdl ArrayOfSimpleDocument.java
InteropDocSvcLocator.java Doc_Test_BindingStub.java
InteropDocSvcTestCase.java interopdoc.wsdl
SimpleDocument_Type.java SingleTag_Type.java
Doc_TestPortType.java InteropDocSvc.java
ChildDocument.java
java/test/interop InteropDocTest.java
Log:
Add interop tests for document style
Revision Changes Path
1.1
xml-axis-wsif/java/test/interop/wsifservice/ComplexDocument_Type.java
Index: ComplexDocument_Type.java
===================================================================
/**
* ComplexDocument_Type.java
*
* This file was auto-generated from WSDL
* by the Apache Axis WSDL2Java emitter.
*/
package interop.wsifservice;
public class ComplexDocument_Type implements java.io.Serializable {
private interop.wsifservice.ArrayOfSimpleDocument simpleDoc;
private interop.wsifservice.ChildDocument child;
private java.lang.String anAttribute; // attribute
public ComplexDocument_Type() {
}
public interop.wsifservice.ArrayOfSimpleDocument getSimpleDoc() {
return simpleDoc;
}
public void setSimpleDoc(interop.wsifservice.ArrayOfSimpleDocument simpleDoc) {
this.simpleDoc = simpleDoc;
}
public interop.wsifservice.ChildDocument getChild() {
return child;
}
public void setChild(interop.wsifservice.ChildDocument child) {
this.child = child;
}
public java.lang.String getAnAttribute() {
return anAttribute;
}
public void setAnAttribute(java.lang.String anAttribute) {
this.anAttribute = anAttribute;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof ComplexDocument_Type)) return false;
ComplexDocument_Type other = (ComplexDocument_Type) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((simpleDoc==null && other.getSimpleDoc()==null) ||
(simpleDoc!=null &&
simpleDoc.equals(other.getSimpleDoc()))) &&
((child==null && other.getChild()==null) ||
(child!=null &&
child.equals(other.getChild()))) &&
((anAttribute==null && other.getAnAttribute()==null) ||
(anAttribute!=null &&
anAttribute.equals(other.getAnAttribute())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getSimpleDoc() != null) {
_hashCode += getSimpleDoc().hashCode();
}
if (getChild() != null) {
_hashCode += getChild().hashCode();
}
if (getAnAttribute() != null) {
_hashCode += getAnAttribute().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(ComplexDocument_Type.class);
static {
org.apache.axis.description.FieldDesc field = new
org.apache.axis.description.AttributeDesc();
field.setFieldName("anAttribute");
field.setXmlName(new javax.xml.namespace.QName("", "AnAttribute"));
field.setXmlType(new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
typeDesc.addFieldDesc(field);
field = new org.apache.axis.description.ElementDesc();
field.setFieldName("simpleDoc");
field.setXmlName(new javax.xml.namespace.QName("http://soapinterop.org/",
"simpleDoc"));
field.setXmlType(new javax.xml.namespace.QName("http://soapinterop.org/",
"ArrayOfSimpleDocument"));
field.setMinOccursIs0(true);
typeDesc.addFieldDesc(field);
field = new org.apache.axis.description.ElementDesc();
field.setFieldName("child");
field.setXmlName(new javax.xml.namespace.QName("http://soapinterop.org/",
"child"));
field.setXmlType(new javax.xml.namespace.QName("http://soapinterop.org/",
"ChildDocument"));
field.setMinOccursIs0(true);
typeDesc.addFieldDesc(field);
};
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
1.1 xml-axis-wsif/java/test/interop/wsifservice/interopdocLocal.wsdl
Index: interopdocLocal.wsdl
===================================================================
<?xml version="1.0"?>
<definitions name="InteropTestDoc" targetNamespace="http://soapinterop.org/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://soapinterop.org/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<types>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://soapinterop.org/" xmlns:interop="http://soapinterop.org/">
<xsd:element name="SingleTag">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="SingleTag" type="interop:SingleTag"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="SingleTag"/>
<xsd:element name="SingleTagResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="SingleTag" type="interop:SingleTag"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SimpleDocument">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="SimpleDocument" type="interop:SimpleDocument"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="SimpleDocument">
<xsd:simpleContent>
<xsd:extension base="xsd:string"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="SimpleDocumentResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="SimpleDocument" type="interop:SimpleDocument"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ComplexDocument">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="ComplexDocument" type="interop:ComplexDocument"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ComplexDocument">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1"
name="simpleDoc" type="interop:ArrayOfSimpleDocument"/>
<xsd:element minOccurs="0" maxOccurs="1"
name="child" type="interop:ChildDocument"/>
</xsd:sequence>
<xsd:attribute name="AnAttribute" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="ArrayOfSimpleDocument">
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="unbounded" name="SimpleDocument" nillable="true"
type="interop:SimpleDocument"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ChildDocument">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1"
name="childSimpleDoc" type="interop:ArrayOfSimpleDocument"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ComplexDocumentResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="ComplexDocument" type="interop:ComplexDocument"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</types>
<message name="SingleTagSoapIn">
<part name="parameters" element="tns:SingleTag"/>
</message>
<message name="SingleTagSoapOut">
<part name="outputDoc" element="tns:SingleTagResponse"/>
</message>
<message name="SimpleDocumentSoapIn">
<part name="parameters" element="tns:SimpleDocument"/>
</message>
<message name="SimpleDocumentSoapOut">
<part name="outputDoc" element="tns:SimpleDocumentResponse"/>
</message>
<message name="ComplexDocumentSoapIn">
<part name="parameters" element="tns:ComplexDocument"/>
</message>
<message name="ComplexDocumentSoapOut">
<part name="outputDoc" element="tns:ComplexDocumentResponse"/>
</message>
<portType name="Doc_TestPortType">
<operation name="SingleTag">
<input message="tns:SingleTagSoapIn"/>
<output message="tns:SingleTagSoapOut"/>
</operation>
<operation name="SimpleDocument">
<input message="tns:SimpleDocumentSoapIn"/>
<output message="tns:SimpleDocumentSoapOut"/>
</operation>
<operation name="ComplexDocument">
<input message="tns:ComplexDocumentSoapIn"/>
<output message="tns:ComplexDocumentSoapOut"/>
</operation>
</portType>
<binding name="doc_test_binding" type="tns:Doc_TestPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="SingleTag">
<soap:operation
soapAction="http://soapinterop.org/SingleTag"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="SimpleDocument">
<soap:operation
soapAction="http://soapinterop.org/SimpleDocument"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="ComplexDocument">
<soap:operation
soapAction="http://soapinterop.org/ComplexDocument"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="interopDocSvc">
<port name="interopDocPort" binding="tns:doc_test_binding">
<!-- <soap:address
location="http://www.whitemesa.net/interopdoc"/> -->
<!-- <soap:address
location="http://localhost:8080/soap/servlet/rpcrouter"/> -->
<soap:address location="http://localhost:8080/interopdoc"/>
</port>
</service>
</definitions>
1.1
xml-axis-wsif/java/test/interop/wsifservice/ArrayOfSimpleDocument.java
Index: ArrayOfSimpleDocument.java
===================================================================
/**
* ArrayOfSimpleDocument.java
*
* This file was auto-generated from WSDL
* by the Apache Axis WSDL2Java emitter.
*/
package interop.wsifservice;
public class ArrayOfSimpleDocument implements java.io.Serializable {
private interop.wsifservice.SimpleDocument_Type[] simpleDocument;
public ArrayOfSimpleDocument() {
}
public interop.wsifservice.SimpleDocument_Type[] getSimpleDocument() {
return simpleDocument;
}
public void setSimpleDocument(interop.wsifservice.SimpleDocument_Type[]
simpleDocument) {
this.simpleDocument = simpleDocument;
}
public interop.wsifservice.SimpleDocument_Type getSimpleDocument(int i) {
return simpleDocument[i];
}
public void setSimpleDocument(int i, interop.wsifservice.SimpleDocument_Type
value) {
this.simpleDocument[i] = value;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof ArrayOfSimpleDocument)) return false;
ArrayOfSimpleDocument other = (ArrayOfSimpleDocument) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((simpleDocument==null && other.getSimpleDocument()==null) ||
(simpleDocument!=null &&
java.util.Arrays.equals(simpleDocument, other.getSimpleDocument())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getSimpleDocument() != null) {
for (int i=0;
i<java.lang.reflect.Array.getLength(getSimpleDocument());
i++) {
java.lang.Object obj =
java.lang.reflect.Array.get(getSimpleDocument(), i);
if (obj != null &&
!obj.getClass().isArray()) {
_hashCode += obj.hashCode();
}
}
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(ArrayOfSimpleDocument.class);
static {
org.apache.axis.description.FieldDesc field = new
org.apache.axis.description.ElementDesc();
field.setFieldName("simpleDocument");
field.setXmlName(new javax.xml.namespace.QName("http://soapinterop.org/",
"SimpleDocument"));
field.setMinOccursIs0(true);
typeDesc.addFieldDesc(field);
};
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
1.1
xml-axis-wsif/java/test/interop/wsifservice/InteropDocSvcLocator.java
Index: InteropDocSvcLocator.java
===================================================================
/**
* InteropDocSvcLocator.java
*
* This file was auto-generated from WSDL
* by the Apache Axis WSDL2Java emitter.
*/
package interop.wsifservice;
public class InteropDocSvcLocator extends org.apache.axis.client.Service implements
interop.wsifservice.InteropDocSvc {
// Use to get a proxy class for interopDocPort
private final java.lang.String interopDocPort_address =
"http://www.whitemesa.net/interopdoc";
public java.lang.String getinteropDocPortAddress() {
return interopDocPort_address;
}
// The WSDD service name defaults to the port name.
private java.lang.String interopDocPortWSDDServiceName = "interopDocPort";
public java.lang.String getinteropDocPortWSDDServiceName() {
return interopDocPortWSDDServiceName;
}
public void setinteropDocPortWSDDServiceName(java.lang.String name) {
interopDocPortWSDDServiceName = name;
}
public interop.wsifservice.Doc_TestPortType getinteropDocPort() throws
javax.xml.rpc.ServiceException {
java.net.URL endpoint;
try {
endpoint = new java.net.URL(interopDocPort_address);
}
catch (java.net.MalformedURLException e) {
return null; // unlikely as URL was validated in WSDL2Java
}
return getinteropDocPort(endpoint);
}
public interop.wsifservice.Doc_TestPortType getinteropDocPort(java.net.URL
portAddress) throws javax.xml.rpc.ServiceException {
try {
interop.wsifservice.Doc_Test_BindingStub _stub = new
interop.wsifservice.Doc_Test_BindingStub(portAddress, this);
_stub.setPortName(getinteropDocPortWSDDServiceName());
return _stub;
}
catch (org.apache.axis.AxisFault e) {
return null;
}
}
/**
* For the given interface, get the stub implementation.
* If this service has no port for the given interface,
* then ServiceException is thrown.
*/
public java.rmi.Remote getPort(Class serviceEndpointInterface) throws
javax.xml.rpc.ServiceException {
try {
if
(interop.wsifservice.Doc_TestPortType.class.isAssignableFrom(serviceEndpointInterface))
{
interop.wsifservice.Doc_Test_BindingStub _stub = new
interop.wsifservice.Doc_Test_BindingStub(new java.net.URL(interopDocPort_address),
this);
_stub.setPortName(getinteropDocPortWSDDServiceName());
return _stub;
}
}
catch (java.lang.Throwable t) {
throw new javax.xml.rpc.ServiceException(t);
}
throw new javax.xml.rpc.ServiceException("There is no stub implementation
for the interface: " + (serviceEndpointInterface == null ? "null" :
serviceEndpointInterface.getName()));
}
/**
* For the given interface, get the stub implementation.
* If this service has no port for the given interface,
* then ServiceException is thrown.
*/
public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class
serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
java.rmi.Remote _stub = getPort(serviceEndpointInterface);
((org.apache.axis.client.Stub) _stub).setPortName(portName);
return _stub;
}
public javax.xml.namespace.QName getServiceName() {
return new javax.xml.namespace.QName("http://soapinterop.org/",
"interopDocSvc");
}
private java.util.HashSet ports = null;
public java.util.Iterator getPorts() {
if (ports == null) {
ports = new java.util.HashSet();
ports.add(new javax.xml.namespace.QName("interopDocPort"));
}
return ports.iterator();
}
}
1.1
xml-axis-wsif/java/test/interop/wsifservice/Doc_Test_BindingStub.java
Index: Doc_Test_BindingStub.java
===================================================================
/**
* Doc_Test_BindingStub.java
*
* This file was auto-generated from WSDL
* by the Apache Axis WSDL2Java emitter.
*/
package interop.wsifservice;
public class Doc_Test_BindingStub extends org.apache.axis.client.Stub implements
interop.wsifservice.Doc_TestPortType {
private java.util.Vector cachedSerClasses = new java.util.Vector();
private java.util.Vector cachedSerQNames = new java.util.Vector();
private java.util.Vector cachedSerFactories = new java.util.Vector();
private java.util.Vector cachedDeserFactories = new java.util.Vector();
public Doc_Test_BindingStub() throws org.apache.axis.AxisFault {
this(null);
}
public Doc_Test_BindingStub(java.net.URL endpointURL, javax.xml.rpc.Service
service) throws org.apache.axis.AxisFault {
this(service);
super.cachedEndpoint = endpointURL;
}
public Doc_Test_BindingStub(javax.xml.rpc.Service service) throws
org.apache.axis.AxisFault {
if (service == null) {
super.service = new org.apache.axis.client.Service();
} else {
super.service = service;
}
java.lang.Class cls;
javax.xml.namespace.QName qName;
java.lang.Class beansf =
org.apache.axis.encoding.ser.BeanSerializerFactory.class;
java.lang.Class beandf =
org.apache.axis.encoding.ser.BeanDeserializerFactory.class;
java.lang.Class enumsf =
org.apache.axis.encoding.ser.EnumSerializerFactory.class;
java.lang.Class enumdf =
org.apache.axis.encoding.ser.EnumDeserializerFactory.class;
java.lang.Class arraysf =
org.apache.axis.encoding.ser.ArraySerializerFactory.class;
java.lang.Class arraydf =
org.apache.axis.encoding.ser.ArrayDeserializerFactory.class;
java.lang.Class simplesf =
org.apache.axis.encoding.ser.SimpleSerializerFactory.class;
java.lang.Class simpledf =
org.apache.axis.encoding.ser.SimpleDeserializerFactory.class;
qName = new javax.xml.namespace.QName("http://soapinterop.org/",
"ArrayOfSimpleDocument");
cachedSerQNames.add(qName);
cls = interop.wsifservice.ArrayOfSimpleDocument.class;
cachedSerClasses.add(cls);
cachedSerFactories.add(beansf);
cachedDeserFactories.add(beandf);
qName = new javax.xml.namespace.QName("http://soapinterop.org/",
"ChildDocument");
cachedSerQNames.add(qName);
cls = interop.wsifservice.ChildDocument.class;
cachedSerClasses.add(cls);
cachedSerFactories.add(beansf);
cachedDeserFactories.add(beandf);
qName = new javax.xml.namespace.QName("http://soapinterop.org/",
"SingleTag");
cachedSerQNames.add(qName);
cls = interop.wsifservice.SingleTag_Type.class;
cachedSerClasses.add(cls);
cachedSerFactories.add(beansf);
cachedDeserFactories.add(beandf);
qName = new javax.xml.namespace.QName("http://soapinterop.org/",
"ComplexDocument");
cachedSerQNames.add(qName);
cls = interop.wsifservice.ComplexDocument_Type.class;
cachedSerClasses.add(cls);
cachedSerFactories.add(beansf);
cachedDeserFactories.add(beandf);
qName = new javax.xml.namespace.QName("http://soapinterop.org/",
"SimpleDocument");
cachedSerQNames.add(qName);
cls = interop.wsifservice.SimpleDocument_Type.class;
cachedSerClasses.add(cls);
cachedSerFactories.add(simplesf);
cachedDeserFactories.add(simpledf);
}
private org.apache.axis.client.Call createCall() throws java.rmi.RemoteException
{
try {
org.apache.axis.client.Call _call =
(org.apache.axis.client.Call) super.service.createCall();
if (super.maintainSessionSet) {
_call.setMaintainSession(super.maintainSession);
}
if (super.cachedUsername != null) {
_call.setUsername(super.cachedUsername);
}
if (super.cachedPassword != null) {
_call.setPassword(super.cachedPassword);
}
if (super.cachedEndpoint != null) {
_call.setTargetEndpointAddress(super.cachedEndpoint);
}
if (super.cachedTimeout != null) {
_call.setTimeout(super.cachedTimeout);
}
if (super.cachedPortName != null) {
_call.setPortName(super.cachedPortName);
}
java.util.Enumeration keys = super.cachedProperties.keys();
while (keys.hasMoreElements()) {
java.lang.String key = (java.lang.String) keys.nextElement();
if(_call.isPropertySupported(key))
_call.setProperty(key, super.cachedProperties.get(key));
else
_call.setScopedProperty(key, super.cachedProperties.get(key));
}
// All the type mapping information is registered
// when the first call is made.
// The type mapping information is actually registered in
// the TypeMappingRegistry of the service, which
// is the reason why registration is only needed for the first call.
synchronized (this) {
if (firstCall()) {
// must set encoding style before registering serializers
_call.setEncodingStyle(null);
for (int i = 0; i < cachedSerFactories.size(); ++i) {
java.lang.Class cls = (java.lang.Class)
cachedSerClasses.get(i);
javax.xml.namespace.QName qName =
(javax.xml.namespace.QName) cachedSerQNames.get(i);
java.lang.Class sf = (java.lang.Class)
cachedSerFactories.get(i);
java.lang.Class df = (java.lang.Class)
cachedDeserFactories.get(i);
_call.registerTypeMapping(cls, qName, sf, df, false);
}
}
}
return _call;
}
catch (java.lang.Throwable t) {
throw new org.apache.axis.AxisFault("Failure trying to get the Call
object", t);
}
}
public interop.wsifservice.SingleTag_Type
singleTag(interop.wsifservice.SingleTag_Type singleTag) throws
java.rmi.RemoteException {
if (super.cachedEndpoint == null) {
throw new org.apache.axis.NoEndPointException();
}
org.apache.axis.client.Call _call = createCall();
_call.addParameter(new javax.xml.namespace.QName("http://soapinterop.org/",
"SingleTag"), new javax.xml.namespace.QName("http://soapinterop.org/", "SingleTag"),
interop.wsifservice.SingleTag_Type.class, javax.xml.rpc.ParameterMode.IN);
_call.setReturnType(new javax.xml.namespace.QName("http://soapinterop.org/",
"SingleTag"), interop.wsifservice.SingleTag_Type.class);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("http://soapinterop.org/SingleTag");
_call.setEncodingStyle(null);
_call.setScopedProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
Boolean.FALSE);
_call.setScopedProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
Boolean.FALSE);
_call.setOperationStyle("wrapped");
_call.setOperationName(new
javax.xml.namespace.QName("http://soapinterop.org/", "SingleTag"));
_call.setReturnQName(new
javax.xml.namespace.QName("http://soapinterop.org/", "SingleTag"));
java.lang.Object _resp = _call.invoke(new java.lang.Object[] {singleTag});
if (_resp instanceof java.rmi.RemoteException) {
throw (java.rmi.RemoteException)_resp;
}
else {
try {
return (interop.wsifservice.SingleTag_Type) _resp;
} catch (java.lang.Exception _exception) {
return (interop.wsifservice.SingleTag_Type)
org.apache.axis.utils.JavaUtils.convert(_resp,
interop.wsifservice.SingleTag_Type.class);
}
}
}
public interop.wsifservice.SimpleDocument_Type
simpleDocument(interop.wsifservice.SimpleDocument_Type simpleDocument) throws
java.rmi.RemoteException {
if (super.cachedEndpoint == null) {
throw new org.apache.axis.NoEndPointException();
}
org.apache.axis.client.Call _call = createCall();
_call.addParameter(new javax.xml.namespace.QName("http://soapinterop.org/",
"SimpleDocument"), new javax.xml.namespace.QName("http://soapinterop.org/",
"SimpleDocument"), interop.wsifservice.SimpleDocument_Type.class,
javax.xml.rpc.ParameterMode.IN);
_call.setReturnType(new javax.xml.namespace.QName("http://soapinterop.org/",
"SimpleDocument"), interop.wsifservice.SimpleDocument_Type.class);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("http://soapinterop.org/SimpleDocument");
_call.setEncodingStyle(null);
_call.setScopedProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
Boolean.FALSE);
_call.setScopedProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
Boolean.FALSE);
_call.setOperationStyle("wrapped");
_call.setOperationName(new
javax.xml.namespace.QName("http://soapinterop.org/", "SimpleDocument"));
_call.setReturnQName(new
javax.xml.namespace.QName("http://soapinterop.org/", "SimpleDocument"));
java.lang.Object _resp = _call.invoke(new java.lang.Object[]
{simpleDocument});
if (_resp instanceof java.rmi.RemoteException) {
throw (java.rmi.RemoteException)_resp;
}
else {
try {
return (interop.wsifservice.SimpleDocument_Type) _resp;
} catch (java.lang.Exception _exception) {
return (interop.wsifservice.SimpleDocument_Type)
org.apache.axis.utils.JavaUtils.convert(_resp,
interop.wsifservice.SimpleDocument_Type.class);
}
}
}
public interop.wsifservice.ComplexDocument_Type
complexDocument(interop.wsifservice.ComplexDocument_Type complexDocument) throws
java.rmi.RemoteException {
if (super.cachedEndpoint == null) {
throw new org.apache.axis.NoEndPointException();
}
org.apache.axis.client.Call _call = createCall();
_call.addParameter(new javax.xml.namespace.QName("http://soapinterop.org/",
"ComplexDocument"), new javax.xml.namespace.QName("http://soapinterop.org/",
"ComplexDocument"), interop.wsifservice.ComplexDocument_Type.class,
javax.xml.rpc.ParameterMode.IN);
_call.setReturnType(new javax.xml.namespace.QName("http://soapinterop.org/",
"ComplexDocument"), interop.wsifservice.ComplexDocument_Type.class);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("http://soapinterop.org/ComplexDocument");
_call.setEncodingStyle(null);
_call.setScopedProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
Boolean.FALSE);
_call.setScopedProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
Boolean.FALSE);
_call.setOperationStyle("wrapped");
_call.setOperationName(new
javax.xml.namespace.QName("http://soapinterop.org/", "ComplexDocument"));
_call.setReturnQName(new
javax.xml.namespace.QName("http://soapinterop.org/", "ComplexDocument"));
java.lang.Object _resp = _call.invoke(new java.lang.Object[]
{complexDocument});
if (_resp instanceof java.rmi.RemoteException) {
throw (java.rmi.RemoteException)_resp;
}
else {
try {
return (interop.wsifservice.ComplexDocument_Type) _resp;
} catch (java.lang.Exception _exception) {
return (interop.wsifservice.ComplexDocument_Type)
org.apache.axis.utils.JavaUtils.convert(_resp,
interop.wsifservice.ComplexDocument_Type.class);
}
}
}
}
1.1
xml-axis-wsif/java/test/interop/wsifservice/InteropDocSvcTestCase.java
Index: InteropDocSvcTestCase.java
===================================================================
/**
* InteropDocSvcTestCase.java
*
* This file was auto-generated from WSDL
* by the Apache Axis WSDL2Java emitter.
*/
package interop.wsifservice;
public class InteropDocSvcTestCase extends junit.framework.TestCase {
public InteropDocSvcTestCase(java.lang.String name) {
super(name);
}
public void test1interopDocPortSingleTag() {
interop.wsifservice.Doc_TestPortType binding;
try {
binding = new
interop.wsifservice.InteropDocSvcLocator().getinteropDocPort();
}
catch (javax.xml.rpc.ServiceException jre) {
if(jre.getLinkedCause()!=null)
jre.getLinkedCause().printStackTrace();
throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException
caught: " + jre);
}
assertTrue("binding is null", binding != null);
try {
interop.wsifservice.SingleTag_Type value = null;
value = binding.singleTag(new interop.wsifservice.SingleTag_Type());
}
catch (java.rmi.RemoteException re) {
throw new junit.framework.AssertionFailedError("Remote Exception caught:
" + re);
}
}
public void test2interopDocPortSimpleDocument() {
interop.wsifservice.Doc_TestPortType binding;
try {
binding = new
interop.wsifservice.InteropDocSvcLocator().getinteropDocPort();
}
catch (javax.xml.rpc.ServiceException jre) {
if(jre.getLinkedCause()!=null)
jre.getLinkedCause().printStackTrace();
throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException
caught: " + jre);
}
assertTrue("binding is null", binding != null);
try {
interop.wsifservice.SimpleDocument_Type value = null;
value = binding.simpleDocument(new
interop.wsifservice.SimpleDocument_Type());
}
catch (java.rmi.RemoteException re) {
throw new junit.framework.AssertionFailedError("Remote Exception caught:
" + re);
}
}
public void test3interopDocPortComplexDocument() {
interop.wsifservice.Doc_TestPortType binding;
try {
binding = new
interop.wsifservice.InteropDocSvcLocator().getinteropDocPort();
}
catch (javax.xml.rpc.ServiceException jre) {
if(jre.getLinkedCause()!=null)
jre.getLinkedCause().printStackTrace();
throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException
caught: " + jre);
}
assertTrue("binding is null", binding != null);
try {
interop.wsifservice.ComplexDocument_Type value = null;
value = binding.complexDocument(new
interop.wsifservice.ComplexDocument_Type());
}
catch (java.rmi.RemoteException re) {
throw new junit.framework.AssertionFailedError("Remote Exception caught:
" + re);
}
}
}
1.1 xml-axis-wsif/java/test/interop/wsifservice/interopdoc.wsdl
Index: interopdoc.wsdl
===================================================================
<?xml version="1.0"?>
<definitions name="InteropTestDoc" targetNamespace="http://soapinterop.org/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://soapinterop.org/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<types>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://soapinterop.org/" xmlns:interop="http://soapinterop.org/">
<xsd:element name="SingleTag">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="SingleTag" type="interop:SingleTag"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="SingleTag"/>
<xsd:element name="SingleTagResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="SingleTag" type="interop:SingleTag"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SimpleDocument">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="SimpleDocument" type="interop:SimpleDocument"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="SimpleDocument">
<xsd:simpleContent>
<xsd:extension base="xsd:string"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="SimpleDocumentResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="SimpleDocument" type="interop:SimpleDocument"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ComplexDocument">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="ComplexDocument" type="interop:ComplexDocument"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ComplexDocument">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1"
name="simpleDoc" type="interop:ArrayOfSimpleDocument"/>
<xsd:element minOccurs="0" maxOccurs="1"
name="child" type="interop:ChildDocument"/>
</xsd:sequence>
<xsd:attribute name="AnAttribute" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="ArrayOfSimpleDocument">
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="unbounded" name="SimpleDocument" nillable="true"
type="interop:SimpleDocument"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ChildDocument">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1"
name="childSimpleDoc" type="interop:ArrayOfSimpleDocument"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ComplexDocumentResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0"
maxOccurs="1" name="ComplexDocument" type="interop:ComplexDocument"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</types>
<message name="SingleTagSoapIn">
<part name="parameters" element="tns:SingleTag"/>
</message>
<message name="SingleTagSoapOut">
<part name="outputDoc" element="tns:SingleTagResponse"/>
</message>
<message name="SimpleDocumentSoapIn">
<part name="parameters" element="tns:SimpleDocument"/>
</message>
<message name="SimpleDocumentSoapOut">
<part name="outputDoc" element="tns:SimpleDocumentResponse"/>
</message>
<message name="ComplexDocumentSoapIn">
<part name="parameters" element="tns:ComplexDocument"/>
</message>
<message name="ComplexDocumentSoapOut">
<part name="outputDoc" element="tns:ComplexDocumentResponse"/>
</message>
<portType name="Doc_TestPortType">
<operation name="SingleTag">
<input message="tns:SingleTagSoapIn"/>
<output message="tns:SingleTagSoapOut"/>
</operation>
<operation name="SimpleDocument">
<input message="tns:SimpleDocumentSoapIn"/>
<output message="tns:SimpleDocumentSoapOut"/>
</operation>
<operation name="ComplexDocument">
<input message="tns:ComplexDocumentSoapIn"/>
<output message="tns:ComplexDocumentSoapOut"/>
</operation>
</portType>
<binding name="doc_test_binding" type="tns:Doc_TestPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="SingleTag">
<soap:operation
soapAction="http://soapinterop.org/SingleTag"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="SimpleDocument">
<soap:operation
soapAction="http://soapinterop.org/SimpleDocument"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="ComplexDocument">
<soap:operation
soapAction="http://soapinterop.org/ComplexDocument"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="interopDocSvc">
<port name="interopDocPort" binding="tns:doc_test_binding">
<soap:address location="http://www.whitemesa.net/interopdoc"/>
</port>
</service>
</definitions>
1.1
xml-axis-wsif/java/test/interop/wsifservice/SimpleDocument_Type.java
Index: SimpleDocument_Type.java
===================================================================
/**
* SimpleDocument_Type.java
*
* This file was auto-generated from WSDL
* by the Apache Axis WSDL2Java emitter.
*/
package interop.wsifservice;
public class SimpleDocument_Type implements java.io.Serializable,
org.apache.axis.encoding.SimpleType {
private java.lang.String value;
public SimpleDocument_Type() {
}
// Simple Types must have a String constructor
public SimpleDocument_Type(java.lang.String value) {
this.value = new java.lang.String(value);
}
// Simple Types must have a toString for serializing the value
public java.lang.String toString() {
return value == null ? null : value.toString();
}
public java.lang.String getValue() {
return value;
}
public void setValue(java.lang.String value) {
this.value = value;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof SimpleDocument_Type)) return false;
SimpleDocument_Type other = (SimpleDocument_Type) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((value==null && other.getValue()==null) ||
(value!=null &&
value.equals(other.getValue())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getValue() != null) {
_hashCode += getValue().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(SimpleDocument_Type.class);
static {
org.apache.axis.description.FieldDesc field = new
org.apache.axis.description.ElementDesc();
field.setFieldName("value");
field.setXmlName(new javax.xml.namespace.QName("", "value"));
field.setXmlType(new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
typeDesc.addFieldDesc(field);
};
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.SimpleSerializer(
_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.SimpleDeserializer(
_javaType, _xmlType, typeDesc);
}
}
1.1 xml-axis-wsif/java/test/interop/wsifservice/SingleTag_Type.java
Index: SingleTag_Type.java
===================================================================
/**
* SingleTag_Type.java
*
* This file was auto-generated from WSDL
* by the Apache Axis WSDL2Java emitter.
*/
package interop.wsifservice;
public class SingleTag_Type implements java.io.Serializable {
public SingleTag_Type() {
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof SingleTag_Type)) return false;
SingleTag_Type other = (SingleTag_Type) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true;
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(SingleTag_Type.class);
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, null);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, null);
}
}
1.1
xml-axis-wsif/java/test/interop/wsifservice/Doc_TestPortType.java
Index: Doc_TestPortType.java
===================================================================
/**
* Doc_TestPortType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis WSDL2Java emitter.
*/
package interop.wsifservice;
public interface Doc_TestPortType extends java.rmi.Remote {
public interop.wsifservice.SingleTag_Type
singleTag(interop.wsifservice.SingleTag_Type singleTag) throws
java.rmi.RemoteException;
public interop.wsifservice.SimpleDocument_Type
simpleDocument(interop.wsifservice.SimpleDocument_Type simpleDocument) throws
java.rmi.RemoteException;
public interop.wsifservice.ComplexDocument_Type
complexDocument(interop.wsifservice.ComplexDocument_Type complexDocument) throws
java.rmi.RemoteException;
}
1.1 xml-axis-wsif/java/test/interop/wsifservice/InteropDocSvc.java
Index: InteropDocSvc.java
===================================================================
/**
* InteropDocSvc.java
*
* This file was auto-generated from WSDL
* by the Apache Axis WSDL2Java emitter.
*/
package interop.wsifservice;
public interface InteropDocSvc extends javax.xml.rpc.Service {
public java.lang.String getinteropDocPortAddress();
public interop.wsifservice.Doc_TestPortType getinteropDocPort() throws
javax.xml.rpc.ServiceException;
public interop.wsifservice.Doc_TestPortType getinteropDocPort(java.net.URL
portAddress) throws javax.xml.rpc.ServiceException;
}
1.1 xml-axis-wsif/java/test/interop/wsifservice/ChildDocument.java
Index: ChildDocument.java
===================================================================
/**
* ChildDocument.java
*
* This file was auto-generated from WSDL
* by the Apache Axis WSDL2Java emitter.
*/
package interop.wsifservice;
public class ChildDocument implements java.io.Serializable {
private interop.wsifservice.ArrayOfSimpleDocument childSimpleDoc;
public ChildDocument() {
}
public interop.wsifservice.ArrayOfSimpleDocument getChildSimpleDoc() {
return childSimpleDoc;
}
public void setChildSimpleDoc(interop.wsifservice.ArrayOfSimpleDocument
childSimpleDoc) {
this.childSimpleDoc = childSimpleDoc;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof ChildDocument)) return false;
ChildDocument other = (ChildDocument) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((childSimpleDoc==null && other.getChildSimpleDoc()==null) ||
(childSimpleDoc!=null &&
childSimpleDoc.equals(other.getChildSimpleDoc())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getChildSimpleDoc() != null) {
_hashCode += getChildSimpleDoc().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(ChildDocument.class);
static {
org.apache.axis.description.FieldDesc field = new
org.apache.axis.description.ElementDesc();
field.setFieldName("childSimpleDoc");
field.setXmlName(new javax.xml.namespace.QName("http://soapinterop.org/",
"childSimpleDoc"));
field.setXmlType(new javax.xml.namespace.QName("http://soapinterop.org/",
"ArrayOfSimpleDocument"));
field.setMinOccursIs0(true);
typeDesc.addFieldDesc(field);
};
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
1.1 xml-axis-wsif/java/test/interop/InteropDocTest.java
Index: InteropDocTest.java
===================================================================
/*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "WSIF" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 2001, 2002, International
* Business Machines, Inc., http://www.apache.org. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package interop;
import interop.wsifservice.ArrayOfSimpleDocument;
import interop.wsifservice.ChildDocument;
import interop.wsifservice.ComplexDocument_Type;
import interop.wsifservice.SimpleDocument_Type;
import interop.wsifservice.SingleTag_Type;
import java.io.StringReader;
import java.io.StringWriter;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.wsif.WSIFException;
import org.apache.wsif.WSIFMessage;
import org.apache.wsif.WSIFOperation;
import org.apache.wsif.WSIFPort;
import org.apache.wsif.WSIFService;
import org.apache.wsif.WSIFServiceFactory;
import org.apache.xerces.parsers.DOMParser;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import util.TestUtilities;
import docStyle.wsifservice.ZipCodeResolverSoap;
import docStyle.zipCodeNW.ShortZipCode;
import docStyle.zipCodeNW.ShortZipCodeResponse;
/**
* Junit test to test out the AXIS provider docstyle support
*
* This test is part of the SOAP Builders interoperability testing
* effort described at http://www.whitemesa.net/. The WSDL is
* available online at http://www.whitemesa.net/wsdl/interopdoc.wsdl
*
* TODO: tests using wrapped parts
* TODO: tests using stubs
* TODO: tests using messaging
*
* @author Ant Elder <[EMAIL PROTECTED]>
*/
public class InteropDocTest extends TestCase {
String wsdlLocation =
TestUtilities.getWsdlPath("java\\test\\interop\\wsifservice")
+ "interopdoc.wsdl";
// + "interopdocLocal.wsdl";
// "http://www.whitemesa.net/wsdl/interopdoc.wsdl";
public InteropDocTest(String name) {
super(name);
}
public static void main(String[] args) {
// TestUtilities.startListeners(
// TestUtilities.ADDRESSBOOK_LISTENER
// | TestUtilities.ASYNC_LISTENER
// | TestUtilities.NATIVEJMS_LISTENER);
junit.textui.TestRunner.run(suite());
// TestUtilities.stopListeners();
}
public static Test suite() {
return new TestSuite(InteropDocTest.class);
}
public void setUp() {
TestUtilities.setUpExtensionsAndProviders();
}
public void testSingleTagDII() {
doitSingleTagDII("interopDocPort", "axis");
}
public void testSimpleDocumentDII() {
doitSimpleDocumentDII("interopDocPort", "axis");
}
public void testComplexDocumentDII() {
doitComplexDocumentDII("interopDocPort", "axis");
}
private void doitSingleTagDII(String portName, String protocol) {
if (portName.toUpperCase().indexOf("JMS") != -1
&& !TestUtilities.areWeTesting("jms"))
return;
TestUtilities.setProviderForProtocol(protocol);
try {
WSIFServiceFactory factory = WSIFServiceFactory.newInstance();
WSIFService service =
factory.getService(
wsdlLocation,
null,
null,
"http://soapinterop.org/",
"Doc_TestPortType");
service.mapType(
new javax.xml.namespace.QName(
"http://soapinterop.org/",
"SingleTag"),
SingleTag_Type.class );
WSIFPort port = service.getPort(portName);
WSIFOperation operation = port.createOperation("SingleTag");
WSIFMessage inMsg = operation.createInputMessage();
WSIFMessage outMsg = operation.createOutputMessage();
WSIFMessage faultMsg = operation.createFaultMessage();
SingleTag_Type stt = new SingleTag_Type();
inMsg.setObjectPart("SingleTag", stt);
boolean ok =
operation.executeRequestResponseOperation(
inMsg,
outMsg,
faultMsg);
assertTrue("operation returned false!!", ok);
Object o = null;
try {
o = outMsg.getObjectPart("SingleTag");
assertTrue("response is null!!!", o != null);
} catch (WSIFException e) {
assertTrue("response part 'SingleTag' not found in output message!!!",
false);
}
assertTrue(
"response part has wrong type: " + o.getClass(),
SingleTag_Type.class.isAssignableFrom(o.getClass()));
} catch (Exception ex) {
ex.printStackTrace();
assertTrue(
"InteropDocTest.doitSingleTagDII("
+ portName
+ ") caught exception "
+ ex.getLocalizedMessage(),
false);
}
}
private void doitSimpleDocumentDII(String portName, String protocol) {
if (portName.toUpperCase().indexOf("JMS") != -1
&& !TestUtilities.areWeTesting("jms"))
return;
TestUtilities.setProviderForProtocol(protocol);
try {
WSIFServiceFactory factory = WSIFServiceFactory.newInstance();
WSIFService service =
factory.getService(
wsdlLocation,
null,
null,
"http://soapinterop.org/",
"Doc_TestPortType");
service.mapType(
new javax.xml.namespace.QName(
"http://soapinterop.org/",
"SimpleDocument"),
SimpleDocument_Type.class );
WSIFPort port = service.getPort(portName);
WSIFOperation operation =
port.createOperation("SimpleDocument");
WSIFMessage inMsg = operation.createInputMessage();
WSIFMessage outMsg = operation.createOutputMessage();
WSIFMessage faultMsg = operation.createFaultMessage();
SimpleDocument_Type sdt = new SimpleDocument_Type();
sdt.setValue("petra");
inMsg.setObjectPart("SimpleDocument", sdt);
boolean ok =
operation.executeRequestResponseOperation(
inMsg,
outMsg,
faultMsg);
assertTrue("operation returned false!!", ok);
Object o = null;
try {
o = outMsg.getObjectPart("SimpleDocument");
assertTrue("response is null!!!", o != null);
} catch (WSIFException e) {
assertTrue("response part 'SimpleDocument' not found in output
message!!!", false);
}
assertTrue(
"response part has wrong type: " + o.getClass(),
SimpleDocument_Type.class.isAssignableFrom(o.getClass()));
SimpleDocument_Type response = (SimpleDocument_Type) o;
assertTrue(
"document value wrong: " + response.getValue(),
sdt.getValue().equals(response.getValue()));
} catch (Exception ex) {
ex.printStackTrace();
assertTrue(
"InteropDocTest.doitSimpleDocumentDII("
+ portName
+ ") caught exception "
+ ex.getLocalizedMessage(),
false);
}
}
private void doitComplexDocumentDII(String portName, String protocol) {
if (portName.toUpperCase().indexOf("JMS") != -1
&& !TestUtilities.areWeTesting("jms"))
return;
TestUtilities.setProviderForProtocol(protocol);
try {
WSIFServiceFactory factory = WSIFServiceFactory.newInstance();
WSIFService service =
factory.getService(
wsdlLocation,
null,
null,
"http://soapinterop.org/",
"Doc_TestPortType");
service.mapType(
new javax.xml.namespace.QName(
"http://soapinterop.org/",
"ComplexDocument"),
ComplexDocument_Type.class );
service.mapType(
new javax.xml.namespace.QName(
"http://soapinterop.org/",
"ArrayOfSimpleDocument"),
ArrayOfSimpleDocument.class );
service.mapType(
new javax.xml.namespace.QName(
"http://soapinterop.org/",
"SimpleDocument"),
SimpleDocument_Type.class );
service.mapType(
new javax.xml.namespace.QName(
"http://soapinterop.org/",
"ChildDocument"),
ChildDocument.class );
WSIFPort port = service.getPort(portName);
WSIFOperation operation =
port.createOperation("ComplexDocument");
WSIFMessage inMsg = operation.createInputMessage();
WSIFMessage outMsg = operation.createOutputMessage();
WSIFMessage faultMsg = operation.createFaultMessage();
ComplexDocument_Type cdt = makeComplexDocument();
testComplexDocument(cdt);
inMsg.setObjectPart("ComplexDocument", cdt);
boolean ok =
operation.executeRequestResponseOperation(
inMsg,
outMsg,
faultMsg);
assertTrue("operation returned false!!", ok);
Object o = null;
try {
o = outMsg.getObjectPart("ComplexDocument");
assertTrue("response is null!!!", o != null);
} catch (WSIFException e) {
assertTrue("response part 'ComplexDocument' not found in output
message!!!", false);
}
assertTrue(
"response part has wrong type: " + o.getClass(),
ComplexDocument_Type.class.isAssignableFrom(o.getClass()));
testComplexDocument((ComplexDocument_Type)o);
} catch (Exception ex) {
ex.printStackTrace();
assertTrue(
"InteropDocTest.doitComplexDocumentDII("
+ portName
+ ") caught exception "
+ ex.getLocalizedMessage(),
false);
}
}
private ComplexDocument_Type makeComplexDocument() {
ComplexDocument_Type cdt = new ComplexDocument_Type();
ArrayOfSimpleDocument asd = new ArrayOfSimpleDocument();
SimpleDocument_Type[] adt = new SimpleDocument_Type[2];
adt[0] = new SimpleDocument_Type("petra");
adt[1] = new SimpleDocument_Type("ant");
asd.setSimpleDocument(adt);
cdt.setSimpleDoc(asd);
ChildDocument cd = new ChildDocument();
asd = new ArrayOfSimpleDocument();
adt = new SimpleDocument_Type[1];
adt[0] = new SimpleDocument_Type("sue");
asd.setSimpleDocument(adt);
cd.setChildSimpleDoc(asd);
cdt.setChild(cd);
cdt.setAnAttribute("together");
return cdt;
}
private void testComplexDocument(ComplexDocument_Type cdt) {
ArrayOfSimpleDocument asd = cdt.getSimpleDoc();
assertTrue("asd is null!!!", asd != null);
SimpleDocument_Type[] adt = asd.getSimpleDocument();
boolean b = "petra".equals(adt[0]);
assertTrue("adt is null!!!", adt != null);
assertTrue("adt length not 2, is: " + adt.length, adt.length == 2);
assertTrue("child adt[0] not 'petra', is: " + adt[0],
"petra".equals(adt[0].getValue()));
assertTrue("child adt[1] not 'ant', is: " + adt[0],
"ant".equals(adt[1].getValue()));
ChildDocument cd = cdt.getChild();
asd = cd.getChildSimpleDoc();
assertTrue("child asd is null!!!", asd != null);
adt = asd.getSimpleDocument();
assertTrue("child adt is null!!!", adt != null);
assertTrue("child adt length not 1, is: " + adt.length, adt.length == 1);
assertTrue("child adt[0] not 'sue', is: " + adt[0],
"sue".equals(adt[0].getValue()));
String s = cdt.getAnAttribute();
assertTrue("attribute not 'together' is: " + s, "together".equals(s));
}
private void printElement(Element e) throws Exception {
OutputFormat of = new OutputFormat(e.getOwnerDocument(), "UTF-8",
true);
XMLSerializer xmls = new XMLSerializer(of);
StringWriter sw = new StringWriter();
xmls.setOutputCharStream(sw);
xmls.serialize(e);
System.err.println("element=" + sw.toString());
}
}