获取调用web服务的null复杂java对象

时间:2015-04-28 16:23:51

标签: jax-ws

HY,

使用JaxWsPortProxyFactoryBean来使用Web服务时遇到问题。一切都很好,直到我必须从调用Web服务方法接收复杂的java对象类型,但我得到一个null对象。我收到的肥皂是这样的:

      <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-   
      envelope"><soapenv:Header/><soapenv:Body><ns:altaLiquidacionResponse 
      xmlns:ns="http://wsPice" xmlns:soapenv="http://www.w3.org/2003/05/soap-
      envelope" xmlns:xml="http://www.w3.org/XML/1998/namespace"><ns:return 
      xmlns:ax21="http://wsPice/xsd"  
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:type="ax21:ResultadoLiquidacion"><ax21:respuesta>ERROR 0: Fecha 
      anterior a 1-1-2015</ax21:respuesta><ax21:resultado>KO</ax21:resultado> 
      </ns:return></ns:altaLiquidacionResponse></soapenv:Body>
      </soapenv:Envelope>

服务看起来像这样:

   @WebService(targetNamespace="http://wsPice")
   public interface PiceServicePortType extends java.rmi.Remote {

@WebMethod  
     public ResultadoLiquidacion altaLiquidacion(
            @WebParam(name="wspassword") String wspassword,@WebParam(name="cci_id") String cci_id, 
        @WebParam(name="pln_nombre")String pln_nombre,@WebParam(name="trm_nombre")String trm_nombre,
        @WebParam(name="jvn_documento")String jvn_documento,@WebParam(name="jvn_nombre")String jvn_nombre,
        @WebParam(name="ind_fecha")String ind_fecha, 
        @WebParam(name="ind_coste")BigDecimal ind_coste, 
        @WebParam(name="ind_referencia")String ind_referencia) throws java.rmi.RemoteException;


  }

ResultadoLiquidacion对象如下所示:

@XmlRootElement(name = "return")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class ResultadoLiquidacion implements java.io.Serializable {
/**
 * 
 */
private static final long serialVersionUID = 1L;


@XmlElement(name= "respuesta")
private java.lang.String respuesta;

@XmlElement(name = "resultado")
private java.lang.String resultado;

public java.lang.String getRespuesta() {
    return respuesta;
}

public void setRespuesta(java.lang.String respuesta) {
    this.respuesta = respuesta;
}

public java.lang.String getResultado() {
    return resultado;
}

public void setResultado(java.lang.String resultado) {
    this.resultado = resultado;
}

}

所以奇怪的是,虽然我得到了一个soap响应,但在java中,ResultadoLiquidacion对象为null。其他问题是由于JaxWsPortProxyFactoryBean,我无法看到客户端Web服务的实现。有什么想法吗?

由于

0 个答案:

没有答案