java从Axis TypeDesc提取XML
我使用Eclipse从WSDL文件创建了一个web服务客户机。一切都很好,因为我可以实例化我的服务调用Java对象并设置所需的字段
我的问题是,在进行服务调用之前,我无法找到提取请求XML的方法。我需要查看针对web服务生成的请求XML。谢谢你的帮助
这是Eclipse自动生成的我的服务调用对象:
public class ClientPrice implements java.io.Serializable {
private java.lang.String clientKey;
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(MedicareReprice.class, true);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://services.com", "MedicareReprice"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("clientKey");
elemField.setXmlName(new javax.xml.namespace.QName("http://services.com", "ClientKey"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
typeDesc.addFieldDesc(elemField);
}
/**
* 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);
}
}
这就是我对web服务进行实际调用的方式,但我需要在调用web服务之前提取请求XML。 我尝试使用TypeDesc对象,但没有返回XML
ClientPrice price = new ClientPrice();
price.setClientKey("12345");
ProcessingLocator serviceLocator = new ProcessingLocator();
IProcessing service = serviceLocator.getSecureSoap11();
//Help here. How can I extract XML before invoking web serice????
Results results = service.invokeWebService(price);
提前谢谢
# 1 楼答案
迟到总比不迟到好,我也遇到了同样的问题,下面是我的答案
如何使用它
我希望这有帮助