【发布时间】:2017-05-31 22:01:02
【问题描述】:
我正在尝试使用他们给我的 URL 来使用 Web 服务。运行页面时出现以下错误:
无法执行 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) 在 org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) 在 org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) 在 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>
`
【问题讨论】:
-
您的服务调用显然收到了302 HTTP response,这意味着它告诉您请求其他页面。它可能是登录页面或其他东西。如果您只是打开 ColdFusion 服务器上的浏览器并导航到同一个 URL,会发生什么?如果您可以在尝试进行此调用的位置发布代码,这也会有所帮助。那么我们也许可以提供进一步的帮助。
-
你好,我把我的代码放上去,真的不知道对不对,我是第一次创建web服务。
-
代码看起来没问题。您确定 ColdFusion 服务器可以访问该网站
https://www.ifacere.com/吗?如果它位于代理服务器后面,您可能需要提供用户凭据才能访问 Internet(这可能是 302 重定向到登录表单的来源)。这就是为什么我要求您打开 ColdFusion 服务器上的浏览器并尝试转到 URL 以查看是否有效或是否收到提示。
标签: web-services coldfusion certificate coldfusion-11