Test 1:
Step 1: Run Java Client
Results: 3 of the 4 Prints are successful
Send Address to Service...
System.Web.Services.Protocols.SoapException: Server was unable to read request. --->
System.InvalidOperationException: There is an error in XML document (1, 337). --->
System.InvalidOperationException:
The specified type is abstract: name='Address', namespace='urn:emp:data', at
<Address xmlns='urn:emp:data'>.
Test 2:
Step 1: Modify Person.java
Change all instance of
data.emp.Address
To
data.emp.HomeAddress
Step 2: Run Java Client
Results: 4 of the 4 Prints are successful
Test 1:
Step 1: Run Java Client
Results: 3 of the 4 Prints are successful
Starting GetWorkAddress()...
java.lang.ClassCastException: emp.data.HomeAddress
Test 2:
Step 1: Modify SimpleAsmxService.asmx
Change
[WebMethod]
public List<HomeAddress> GetHomeAddress()
To
// [WebMethod]
public List<HomeAddress> GetHomeAddress()
Step 2: Rebuild Java Proxy Classes
Step 3: Comment out code in Java Client
GetWorkAddress();
public static void GetWorkAddress()
{
...
}
public static void Print( ArrayOfHomeAddress listOfAddress )
{
...
}
Step 4: Run Java Client
Results: 2 of the 3 Prints are successful
public static void GetAddress() fails to retrieve data
org.codehaus.xfire.XFireRuntimeException: Could not invoke service..
Nested exception is org.codehaus.xfire.fault.XFireFault: Could not unmarshall type.
Test 3:
Step 1: Restore original files
· SimpleAsmxService.asmx
· SimpleAsmxXFireClient.java
Step 2: Modify SimpleAsmxService.asmx
Uncomment the following method
[WebMethod]
public List<WorkAddress> GetMatchingTypes()
{
...
}
Step 3: Rebuild Java Proxy Classes
Step 4: Run Java Client
Results: 4 of the 4 Prints are successful