package test.wsdl.interop3.compound2;
import test.wsdl.interop3.compound2.Compound2Locator;
import test.wsdl.interop3.compound2.SoapInteropCompound2PortType;
import test.wsdl.interop3.compound2.xsd.Employee;
import test.wsdl.interop3.compound2.xsd.Person;
import java.net.URL;
/*
<!-- SOAP Builder's round III web services -->
<!-- interoperability testing: import1 -->
<!-- (see http://www.whitemesa.net/r3/plan.html) -->
<!-- Step 1. Start with predefined WSDL -->
<!-- Step 2. Generate client from predefined WSDL -->
<!-- Step 3. Test generated client against -->
<!-- pre-built server -->
<!-- Step 4. Generate server from predefined WSDL -->
<!-- Step 5. Test generated client against -->
<!-- generated server -->
<!-- Step 6. Generate second client from -->
<!-- generated server's WSDL (some clients -->
<!-- can do this dynamically) -->
<!-- Step 7. Test second generated client against -->
<!-- generated server -->
<!-- Step 8. Test second generated client against -->
<!-- pre-built server -->
*/
public class Compound2TestCase extends junit.framework.TestCase {
static URL url;
public Compound2TestCase(String name) {
super(name);
}
protected void setUp() throws Exception {
}
public void testStep3() {
SoapInteropCompound2PortType binding;
try {
if (url != null) {
binding = new Compound2Locator().getSoapInteropCompound2Port(url);
} else {
binding = new Compound2Locator().getSoapInteropCompound2Port();
}
}
catch (javax.xml.rpc.ServiceException jre) {
throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre);
}
assertTrue("binding is null", binding != null);
try {
Employee emp = new Employee();
Person person = new Person();
person.setMale(true);
person.setName("Joe Blow");
emp.setPerson(person);
emp.setID(314159);
emp.setSalary(100000.50);
Employee result = binding.echoEmployee(emp);
if (!emp.equals(result)) {
System.out.println("Expected:");
System.out.println(printEmployee(emp));
System.out.println("Received:");
System.out.println(printEmployee(result));
}
assertTrue("Results did not match", result.equals(emp));
}
catch (java.rmi.RemoteException re) {
throw new junit.framework.AssertionFailedError("Remote Exception caught: " + re);
}
}
String printEmployee(Employee e) {
String result = new String();
result += " ID: " + e.getID() + "\r\n";
result += " Salary: " + e.getSalary() + "\r\n";
Person p = e.getPerson();
result += " Person:\r\n";
result += " Name: " + p.getName() + "\r\n";
result += " Male: " + p.isMale() + "\r\n";
return result;
}
public static void main(String[] args) {
if (args.length == 1) {
try {
url = new URL(args[0]);
} catch (Exception e) {
}
}
junit.textui.TestRunner.run(new junit.framework.TestSuite(Compound2TestCase.class));
} // main
}
|