You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2005/04/29 17:35:17 UTC
cvs commit: ws-axis/java/test/wsdl/echo2 Echo2PT.java Echo2ServiceTestCase.java Echo2SoapBindingImpl.java MyBase64Bean.java build.xml deploy.wsdd echo2.wsdl
dims 2005/04/29 08:35:16
Modified: java/test/wsdl/echo2 Echo2PT.java Echo2ServiceTestCase.java
Echo2SoapBindingImpl.java MyBase64Bean.java
build.xml deploy.wsdd echo2.wsdl
Log:
additional tests from guillaume
Revision Changes Path
1.2 +1 -0 ws-axis/java/test/wsdl/echo2/Echo2PT.java
Index: Echo2PT.java
===================================================================
RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/Echo2PT.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Echo2PT.java 17 Apr 2005 02:25:53 -0000 1.1
+++ Echo2PT.java 29 Apr 2005 15:35:16 -0000 1.2
@@ -12,4 +12,5 @@
public test.wsdl.echo2.MyBase64Bean[] echoArrayOfMyBase64Bean(test.wsdl.echo2.MyBase64Bean[] input) throws java.rmi.RemoteException;
public java.lang.String[] echoArrayOfString_MaxOccursUnbounded(java.lang.String[] input) throws java.rmi.RemoteException;
public java.lang.String[] echoArrayOfString_SoapEncArray(java.lang.String[] input) throws java.rmi.RemoteException;
+ public Base64Type echoBase64Type(Base64Type input) throws java.rmi.RemoteException;
}
1.4 +39 -21 ws-axis/java/test/wsdl/echo2/Echo2ServiceTestCase.java
Index: Echo2ServiceTestCase.java
===================================================================
RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/Echo2ServiceTestCase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Echo2ServiceTestCase.java 22 Apr 2005 15:14:44 -0000 1.3
+++ Echo2ServiceTestCase.java 29 Apr 2005 15:35:16 -0000 1.4
@@ -6,16 +6,12 @@
*/
package test.wsdl.echo2;
+import java.util.Iterator;
import javax.xml.namespace.QName;
-import org.apache.axis.client.Call;
-import org.apache.axis.client.Service;
-import org.apache.axis.encoding.ser.BeanDeserializerFactory;
-import org.apache.axis.encoding.ser.BeanSerializerFactory;
-import org.apache.axis.message.SOAPBody;
+import org.apache.axis.MessageContext;
import org.apache.axis.message.MessageElement;
-
-import java.util.List;
-import java.util.Iterator;
+import org.apache.axis.message.PrefixedQName;
+import org.apache.axis.message.SOAPBody;
public class Echo2ServiceTestCase extends junit.framework.TestCase {
public Echo2ServiceTestCase(java.lang.String name) {
@@ -40,25 +36,46 @@
assertNotNull("binding is null", binding);
// Time out after a minute
binding.setTimeout(60000);
- /*
- call.registerTypeMapping(
- MyBase64Bean.class,
- new QName("urn:echo2.wsdl.test", "MyBase64Bean"),
- new BeanSerializerFactory(MyBase64Bean.class, new QName(
- "urn:echo2.wsdl.test", "MyBase64Bean")),
- new BeanDeserializerFactory(MyBase64Bean.class, new QName(
- "urn:echo2.wsdl.test", "MyBase64Bean")));
-*/
- // was causing serialization problem : cannot serializer for type MyBase64Bean ?!
- //call.setClientHandlers(new ValidateSerializationHandler(), null);
// message is more clear without multiref
- binding._setProperty("sendMultiRefs", Boolean.FALSE);
+ //binding._setProperty("sendMultiRefs", Boolean.FALSE);
// Test operation
test.wsdl.echo2.MyBase64Bean input = new test.wsdl.echo2.MyBase64Bean();
fillMyBase64Bean(input);
test.wsdl.echo2.MyBase64Bean ret = binding.echoMyBase64Bean(input);
- // TBD - validate results
+
+ }
+
+ public void test1Echo2EchoBase64Type() throws Exception {
+ test.wsdl.echo2.Echo2SoapBindingStub binding;
+ binding = (test.wsdl.echo2.Echo2SoapBindingStub) new test.wsdl.echo2.Echo2ServiceLocator()
+ .getEcho2();
+ assertNotNull("binding is null", binding);
+ // Time out after a minute
+ binding.setTimeout(60000);
+
+ // message is more clear without multiref
+ //binding._setProperty("sendMultiRefs", Boolean.FALSE);
+ // Test operation
+ Base64Type input = new Base64Type(new byte[] {-127, 0, 127});
+ //byte[] input = new byte[] {-127, 0, 127};
+ Base64Type ret = binding.echoBase64Type(input);
+
+ binding._getCall().getResponseMessage().writeTo(System.out);
+ // Check message format
+ SOAPBody body = (SOAPBody) binding._getCall().getResponseMessage().getSOAPBody();
+
+ // Body
+ // echoBase64TypeResponse
+ // return HREF
+ // multiRef : 1 element, no child
+
+ MessageElement element = body.getChildElement(new QName("", "multiRef"));
+ assertNotNull("no multiRef found", element);
+ MessageElement base64 = element.getChildElement(new QName("", "varXsdBase64Binary"));
+ assertNotNull("no varXsdBase64Binary found", base64);
+ assertNotNull("<varXsdBase64Binary> must have 1 and only 1 TextNode subelement", base64.getChildren());
+ assertEquals("<varXsdBase64Binary> should have only 1 children : the TextNode", 1, base64.getChildren().size());
}
public void test1Echo2EchoArrayOfMyBase64Bean() throws Exception {
@@ -114,6 +131,7 @@
// Validate results - NOTE: This checks the XML directly, so if
// any changes are made to the WSDL/code for this test, equivalent
// changes must be made in this code.
+
SOAPBody body = (SOAPBody)binding._getCall().getResponseMessage().getSOAPBody();
MessageElement element;
QName responseQName = new QName("urn:echo2.wsdl.test", "echoArrayOfString_MaxOccursUnboundedResponse");
1.2 +5 -0 ws-axis/java/test/wsdl/echo2/Echo2SoapBindingImpl.java
Index: Echo2SoapBindingImpl.java
===================================================================
RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/Echo2SoapBindingImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Echo2SoapBindingImpl.java 17 Apr 2005 02:25:53 -0000 1.1
+++ Echo2SoapBindingImpl.java 29 Apr 2005 15:35:16 -0000 1.2
@@ -7,6 +7,8 @@
package test.wsdl.echo2;
+import java.rmi.RemoteException;
+
public class Echo2SoapBindingImpl implements test.wsdl.echo2.Echo2PT{
public test.wsdl.echo2.MyBase64Bean echoMyBase64Bean(test.wsdl.echo2.MyBase64Bean input) throws java.rmi.RemoteException {
return input;
@@ -22,5 +24,8 @@
public java.lang.String[] echoArrayOfString_SoapEncArray(java.lang.String[] input) throws java.rmi.RemoteException {
return input;
}
+ public Base64Type echoBase64Type(Base64Type input) throws RemoteException {
+ return input;
+ }
}
1.2 +44 -25 ws-axis/java/test/wsdl/echo2/MyBase64Bean.java
Index: MyBase64Bean.java
===================================================================
RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/MyBase64Bean.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MyBase64Bean.java 17 Apr 2005 02:25:53 -0000 1.1
+++ MyBase64Bean.java 29 Apr 2005 15:35:16 -0000 1.2
@@ -36,7 +36,7 @@
/**
* Gets the varXsdByte value for this MyBase64Bean.
- *
+ *
* @return varXsdByte
*/
public java.lang.Byte getVarXsdByte() {
@@ -46,7 +46,7 @@
/**
* Sets the varXsdByte value for this MyBase64Bean.
- *
+ *
* @param varXsdByte
*/
public void setVarXsdByte(java.lang.Byte varXsdByte) {
@@ -56,7 +56,7 @@
/**
* Gets the varSoapByte value for this MyBase64Bean.
- *
+ *
* @return varSoapByte
*/
public java.lang.Byte getVarSoapByte() {
@@ -66,7 +66,7 @@
/**
* Sets the varSoapByte value for this MyBase64Bean.
- *
+ *
* @param varSoapByte
*/
public void setVarSoapByte(java.lang.Byte varSoapByte) {
@@ -76,7 +76,7 @@
/**
* Gets the varXsdBase64Binary value for this MyBase64Bean.
- *
+ *
* @return varXsdBase64Binary
*/
public byte[] getVarXsdBase64Binary() {
@@ -86,7 +86,7 @@
/**
* Sets the varXsdBase64Binary value for this MyBase64Bean.
- *
+ *
* @param varXsdBase64Binary
*/
public void setVarXsdBase64Binary(byte[] varXsdBase64Binary) {
@@ -96,7 +96,7 @@
/**
* Gets the varSoapBase64Binary value for this MyBase64Bean.
- *
+ *
* @return varSoapBase64Binary
*/
public byte[] getVarSoapBase64Binary() {
@@ -106,7 +106,7 @@
/**
* Sets the varSoapBase64Binary value for this MyBase64Bean.
- *
+ *
* @param varSoapBase64Binary
*/
public void setVarSoapBase64Binary(byte[] varSoapBase64Binary) {
@@ -116,7 +116,7 @@
/**
* Gets the varXsdHexBinary value for this MyBase64Bean.
- *
+ *
* @return varXsdHexBinary
*/
public byte[] getVarXsdHexBinary() {
@@ -126,7 +126,7 @@
/**
* Sets the varXsdHexBinary value for this MyBase64Bean.
- *
+ *
* @param varXsdHexBinary
*/
public void setVarXsdHexBinary(byte[] varXsdHexBinary) {
@@ -136,7 +136,7 @@
/**
* Gets the varSoapBase64 value for this MyBase64Bean.
- *
+ *
* @return varSoapBase64
*/
public byte[] getVarSoapBase64() {
@@ -146,7 +146,26 @@
/**
* Sets the varSoapBase64 value for this MyBase64Bean.
- *
+ *
+ * @param varSoapBase64
+ */
+ public void setVarSoapBase64(int i, byte varSoapBase64) {
+ this.varSoapBase64[i] = varSoapBase64;
+ }
+
+ /**
+ * Gets the varSoapBase64 value for this MyBase64Bean.
+ *
+ * @return varSoapBase64
+ */
+ public byte getVarSoapBase64(int i) {
+ return varSoapBase64[i];
+ }
+
+
+ /**
+ * Sets the varSoapBase64 value for this MyBase64Bean.
+ *
* @param varSoapBase64
*/
public void setVarSoapBase64(byte[] varSoapBase64) {
@@ -164,23 +183,23 @@
}
__equalsCalc = obj;
boolean _equals;
- _equals = true &&
- ((this.varXsdByte==null && other.getVarXsdByte()==null) ||
+ _equals = true &&
+ ((this.varXsdByte==null && other.getVarXsdByte()==null) ||
(this.varXsdByte!=null &&
this.varXsdByte.equals(other.getVarXsdByte()))) &&
- ((this.varSoapByte==null && other.getVarSoapByte()==null) ||
+ ((this.varSoapByte==null && other.getVarSoapByte()==null) ||
(this.varSoapByte!=null &&
this.varSoapByte.equals(other.getVarSoapByte()))) &&
- ((this.varXsdBase64Binary==null && other.getVarXsdBase64Binary()==null) ||
+ ((this.varXsdBase64Binary==null && other.getVarXsdBase64Binary()==null) ||
(this.varXsdBase64Binary!=null &&
java.util.Arrays.equals(this.varXsdBase64Binary, other.getVarXsdBase64Binary()))) &&
- ((this.varSoapBase64Binary==null && other.getVarSoapBase64Binary()==null) ||
+ ((this.varSoapBase64Binary==null && other.getVarSoapBase64Binary()==null) ||
(this.varSoapBase64Binary!=null &&
java.util.Arrays.equals(this.varSoapBase64Binary, other.getVarSoapBase64Binary()))) &&
- ((this.varXsdHexBinary==null && other.getVarXsdHexBinary()==null) ||
+ ((this.varXsdHexBinary==null && other.getVarXsdHexBinary()==null) ||
(this.varXsdHexBinary!=null &&
java.util.Arrays.equals(this.varXsdHexBinary, other.getVarXsdHexBinary()))) &&
- ((this.varSoapBase64==null && other.getVarSoapBase64()==null) ||
+ ((this.varSoapBase64==null && other.getVarSoapBase64()==null) ||
(this.varSoapBase64!=null &&
java.util.Arrays.equals(this.varSoapBase64, other.getVarSoapBase64())));
__equalsCalc = null;
@@ -303,10 +322,10 @@
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
+ java.lang.String mechType,
+ java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
- return
+ return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
@@ -315,10 +334,10 @@
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
+ java.lang.String mechType,
+ java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
- return
+ return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
1.2 +1 -1 ws-axis/java/test/wsdl/echo2/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/build.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- build.xml 17 Apr 2005 02:25:53 -0000 1.1
+++ build.xml 29 Apr 2005 15:35:16 -0000 1.2
@@ -67,7 +67,7 @@
<include name="*TestCase.java" />
<include name="*Impl.java" />
<include name="*Handler.java" />
- <include name="*MyBase64Bean.java" />
+ <include name="*Base64*.java" />
</fileset>
</copy>
1.2 +13 -1 ws-axis/java/test/wsdl/echo2/deploy.wsdd
Index: deploy.wsdd
===================================================================
RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/deploy.wsdd,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- deploy.wsdd 17 Apr 2005 02:25:53 -0000 1.1
+++ deploy.wsdd 29 Apr 2005 15:35:16 -0000 1.2
@@ -19,6 +19,7 @@
<parameter name="className" value="test.wsdl.echo2.Echo2SoapBindingImpl"/>
<parameter name="wsdlPortType" value="Echo2PT"/>
<parameter name="typeMappingVersion" value="1.3"/>
+ <parameter name="sendMultiRefs" value="false"/>
<operation name="echoMyBase64Bean" qname="operNS:echoMyBase64Bean" xmlns:operNS="urn:echo2.wsdl.test" returnQName="return" returnType="rtns:MyBase64Bean" xmlns:rtns="urn:echo2.wsdl.test" soapAction="" >
<parameter qname="input" type="tns:MyBase64Bean" xmlns:tns="urn:echo2.wsdl.test"/>
@@ -29,7 +30,10 @@
<operation name="echoArrayOfString_SoapEncArray" qname="operNS:echoArrayOfString_SoapEncArray" xmlns:operNS="urn:echo2.wsdl.test" returnQName="return" returnType="rtns:ArrayOfString_SoapEncArray" xmlns:rtns="urn:echo2.wsdl.test" soapAction="" >
<parameter qname="input" type="tns:ArrayOfString_SoapEncArray" xmlns:tns="urn:echo2.wsdl.test"/>
</operation>
- <parameter name="allowedMethods" value="echoArrayOfString_SoapEncArray echoArrayOfString_MaxOccursUnbounded echoMyBase64Bean"/>
+ <operation name="echoBase64Type" qname="operNS:echoBase64Type" xmlns:operNS="urn:echo2.wsdl.test" returnQName="return" returnType="xsd:base64Binary" soapAction="" >
+ <parameter qname="input" type="xsd:base64Binary"/>
+ </operation>
+ <parameter name="allowedMethods" value="echoArrayOfString_SoapEncArray echoArrayOfString_MaxOccursUnbounded echoMyBase64Bean echoBase64Type"/>
<typeMapping
xmlns:ns="urn:echo2.wsdl.test"
@@ -39,5 +43,13 @@
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
+ <typeMapping
+ xmlns:ns="urn:echo2.wsdl.test"
+ qname="ns:Base64Type"
+ type="java:test.wsdl.echo2.Base64Type"
+ serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+ deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ />
</service>
</deployment>
1.2 +29 -0 ws-axis/java/test/wsdl/echo2/echo2.wsdl
Index: echo2.wsdl
===================================================================
RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/echo2.wsdl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- echo2.wsdl 17 Apr 2005 02:25:53 -0000 1.1
+++ echo2.wsdl 29 Apr 2005 15:35:16 -0000 1.2
@@ -38,6 +38,11 @@
<element name="varMyBase64Bean" nillable="true" maxOccurs="unbounded" type="tns:MyBase64Bean" />
</sequence>
</complexType>
+ <complexType name="Base64Type">
+ <sequence>
+ <element name="varXsdBase64Binary" nillable="true" type="xsd:base64Binary" />
+ </sequence>
+ </complexType>
</schema>
</wsdl:types>
@@ -69,6 +74,13 @@
<wsdl:part type="tns:ArrayOfString_SoapEncArray" name="return" />
</wsdl:message>
+ <wsdl:message name="echoBase64TypeRequest">
+ <wsdl:part type="tns:Base64Type" name="input" />
+ </wsdl:message>
+ <wsdl:message name="echoBase64TypeResponse">
+ <wsdl:part type="tns:Base64Type" name="return" />
+ </wsdl:message>
+
<wsdl:portType name="Echo2PT">
<wsdl:operation name="echoMyBase64Bean">
<wsdl:input message="tns:echoMyBase64BeanRequest" name="echoMyBase64BeanRequest" />
@@ -86,6 +98,10 @@
<wsdl:input message="tns:echoArrayOfString_SoapEncArrayRequest" name="echoArrayOfString_SoapEncArrayRequest" />
<wsdl:output message="tns:echoArrayOfString_SoapEncArrayResponse" name="echoArrayOfString_SoapEncArrayResponse" />
</wsdl:operation>
+ <wsdl:operation name="echoBase64Type">
+ <wsdl:input message="tns:echoBase64TypeRequest" name="echoBase64TypeRequest" />
+ <wsdl:output message="tns:echoBase64TypeResponse" name="echoBase64TypeResponse" />
+ </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="Echo2SoapBinding" type="tns:Echo2PT">
@@ -142,6 +158,19 @@
namespace="urn:echo2.wsdl.test" use="encoded" />
</wsdl:output>
</wsdl:operation>
+ <wsdl:operation name="echoBase64Type">
+ <wsdlsoap:operation soapAction="" />
+ <wsdl:input name="echoBase64TypeRequest">
+ <wsdlsoap:body
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="urn:echo2.wsdl.test" use="encoded" />
+ </wsdl:input>
+ <wsdl:output name="echoBase64TypeResponse">
+ <wsdlsoap:body
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="urn:echo2.wsdl.test" use="encoded" />
+ </wsdl:output>
+ </wsdl:operation>
</wsdl:binding>
<wsdl:service name="Echo2Service">
<wsdl:port binding="tns:Echo2SoapBinding" name="Echo2">