使用ColdFusion 11消耗Web服务时出错

时间:2017-01-17 00:02:50

标签: web-services coldfusion certificate coldfusion-11

我正在尝试使用他们提供给我的网址来使用网络服务。运行页面时,我收到以下错误:

  

无法执行Web服务调用RegistraFacturaXML。

     

调用Web服务操作时返回的错误是:   org.apache.axis2.AxisFault:传输错误:302错误:重定向       在org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:310)       在org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:194)       在org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)       在org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:402)       在org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)       在org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)       在org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)       at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)       在org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)       at gt.com.megaprint.www.webservice.SSO_wsEFacturaStub.registraFacturaXML(SSO_wsEFacturaStub.java:8431)       在sun.reflect.NativeMethodAccessorImpl.inv ...''

我已检查端口443是否已打开,我安装了我发送的证书。我使用SoapUI调用Web服务,它适用于我。我现在不知道该怎么办?

这是我的代码:

`<cfsavecontent variable="strdata">
 <FACTURA>
  <ENCABEZADO>
    <NOFACTURA>1026</NOFACTURA>
    <RESOLUCION>2016-50-51-35</RESOLUCION>
    <IDSERIE>TBCF</IDSERIE>
    <EMPRESA>883</EMPRESA>
    <SUCURSAL>1</SUCURSAL>
    <CAJA>001</CAJA>
    <USUARIO>JCRUZ</USUARIO>
    <MONEDA>GTQ</MONEDA>
    <TASACAMBIO>1</TASACAMBIO>
    <GENERACION>O</GENERACION>
    <FECHAEMISION>20/12/2016</FECHAEMISION>
    <NOMBRECONTRIBUYENTE>TRANSPORTES ESTRATEGICOS,S.A.</NOMBRECONTRIBUYENTE>
    <DIRECCIONCONTRIBUYENTE>20 AVENIDA 7-95 ZONA 14 GUATEMALA</DIRECCIONCONTRIBUYENTE>
    <NITCONTRIBUYENTE>5559845-5</NITCONTRIBUYENTE>
    <VALORNETO>8869.68</VALORNETO>
    <IVA>1064.36</IVA>
    <TOTAL>9934.04</TOTAL>
    <DESCUENTO>0.00</DESCUENTO>
    <EXENTO>0.00</EXENTO>
  </ENCABEZADO>
  <OPCIONAL>
    <TOTAL_LETRAS>NUEVE MIL NOVECIENTOS TREINTA Y CUATRO  QUETZALES 04/100 ***********************</TOTAL_LETRAS>
  </OPCIONAL>
  <DETALLE>
    <LINEA>
      <CANTIDAD>8</CANTIDAD>
      <DESCRIPCION>11R22.5 16PR LLD37 TRACCION</DESCRIPCION>
      <METRICA>PC</METRICA>
      <PRECIOUNITARIO>1241.76</PRECIOUNITARIO>
      <VALOR>9934.04</VALOR>
    </LINEA>
  </DETALLE>
</FACTURA>
 </cfsavecontent>
<cfinvoke webservice="https://www.ifacere.com/lineapruebas/sso_wsefactura.asmx?wsdl" method="RegistraFacturaXML" returnvariable="RegistraFacturaXMLResult" wsversion="2"> 
    <cfinvokeargument name="pXmlFactura" value="<![CDATA[#strData#]]>"/> 
</cfinvoke> 
<cfoutput>#RegistraFacturaXMLResult#</cfoutput>

`

1 个答案:

答案 0 :(得分:2)

  

我使用SoapUI调用了Web服务,它对我有用。

我记得我遇到的类似情况。我遇到问题的原因是因为Web服务期望复杂的类型,即Web服务定义了minoccursmaxoccurs

我最终得到的解决方案是使用SoapUI响应,并将其保存为我的Soap请求。然后使用CFHTTP标签。请参阅下面的帖子,帮助我编写自己的SOAP解决方案。 CF 11和我所知道的任何版本都不会处理minoccursmaxoccurs复杂类型的Web服务。

Making SOAP Web Service Requests With ColdFusion