Я пытаюсь использовать веб-сервис, используя URL-адрес, который они мне дали. При запуске страницы я получаю следующее сообщение об ошибке:Ошибка при использовании веб-службы с ColdFusion 11
Cannot perform web service invocation RegistraFacturaXML.
The fault returned when invoking the web service operation is: org.apache.axis2.AxisFault: Transport error: 302 Error: Redirect at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:310) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:194) at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:402) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at gt.com.megaprint.www.webservice.SSO_wsEFacturaStub.registraFacturaXML(SSO_wsEFacturaStub.java:8431) at sun.reflect.NativeMethodAccessorImpl.inv... ''
Я проверил, что порт 443 открыт, и я установил сертификат что я был послан. Я вызвал веб-сервис, используя SoapUI, и он работает для меня. Я не знаю, что делать теперь?
это мой код:
`<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] (http://stackoverflow.com/questions/973098/what-does-http-1-1-302-mean-exactly), который означает, что он просит вас запросить другую страницу. Это может быть страница входа в систему или что-то еще. Что произойдет, если вы просто откроете браузер на своем сервере ColdFusion и перейдете к тому же самому URL? Это также поможет, если вы сможете опубликовать код, в котором вы пытаетесь выполнить этот вызов. Тогда мы сможем помочь дальше. –
Привет, я положил свой код, я действительно не знаю, правильно ли это, я впервые создаю веб-службы. –
Код выглядит нормально. Вы уверены, что сервер ColdFusion может получить доступ к этому сайту 'https: // www.ifacere.com /'? Если он сидит за прокси-сервером, вам может потребоваться предоставить учетные данные пользователя для доступа в Интернет (который может быть источником перенаправления 302 в форму входа). Вот почему я попросил вас открыть браузер на сервере ColdFusion и попытаться перейти к URL-адресу, чтобы узнать, работает ли это или вы получите подсказку. –