Comunidad de diseño web y desarrollo en internet online

Flex 3: 'Http Request Error' Invocando webservices

Citar            
MensajeEscrito el 06 Jun 2010 09:59 pm
Hola, tengo un problema y no encuentro la solucion, les dejo la consulta, es muy sencillo. Desde Flex 3 estoy consumiendo un Servicio Web, cuando ejecuto la aplicacion contra un servidor local donde tengo el Servicio Web anda perfecto, ahora el problema esta cuando quiero consumir un Servicio Web desde Internet, me da el error 'HTTP Request Error', en mi caso es el mismo servicio, tanto el local como el que se encuentra en Internet, para mi el problema debe estar en la configurar del Web Services en el servidor, quizas en el Web.Config, espero alguna ayuda para poder probar alternativas.

A continuacion les dejo el codigo, muy simple de la aplicacion en Flex 3, en el cual se puede ver como estoy invocando al Servicio Web:

Código Flex :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
 <mx:Script>
 <![CDATA[
 import mx.controls.Alert;
 import mx.rpc.events.FaultEvent;
 import mx.rpc.events.ResultEvent;
 private function getAvailableBooksResult(event:ResultEvent):void 
 {
    dgGrid.dataProvider = event.result;
 }
 
 private function handleFault(event:FaultEvent):void {
 Alert.show("Fault: "+event.message);
 }
 ]]>
 </mx:Script>
 <mx:WebService id="webService" wsdl="http://www.k-ba.com.ar/Service.asmx?wsdl">
 <mx:operation
 name="getDataSet" resultFormat="xml"
 fault="handleFault(event)"
 result="getAvailableBooksResult(event)"/>
 </mx:WebService>
 <mx:Panel title="Web Service Example" width="100%" height="100%">
 <mx:DataGrid id="dgGrid" width="100%" height="100%"/>
 <mx:ControlBar width="100%">
 <mx:Button label="Available Books" click="webService.getDataSet(); "/>
 </mx:ControlBar>
 </mx:Panel>
</mx:Application>


Espero sus comentarios. Gracias

Por ilbimbodeoro

25 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 07 Jun 2010 11:25 am
El error parece ser simple de conexión, pero el webservice al que te quieres conectar no tiene crossdomain, con lo cual una vez que soluciones eso recibirás error de seguridad. Si tienes acceso a quienes gestionan el webservice o eres tu mismo, agrega el crossdomain para que Flash pueda accederlo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Jun 2010 11:36 pm
Hola, gracias por la ayuda. Ya configure el crossdomain.xml, lo subi al mismo directorio pero sigo recibiendo el mismo error. El archivo contiene estas simples lineas:

Código XML :

<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="*" secure="true"/>
<site-control permitted-cross-domain-policies="all"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>


Aqui puedes ver la Url con el error que recibo:
Flex Web Services

Desde ya agradezco tu interes, cualquier otra pista me sera de mucha utilidad.
Saludos :)

Por ilbimbodeoro

25 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 09 Jun 2010 03:08 am
Veo una llamada directa a Service.asmx sin ningún parámetro, el error que devuielve el servidor es bastante largo:

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Exception: Data Rerieval Error ---> System.Data.SqlClient.SqlException: Login failed for user ''. The user is not associated with a trusted SQL Server connection.
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
at DBConn.ReturnDataSet(String selectCmd, String tabName)
at Samples.GetDataSet()
--- End of inner exception stack trace ---
at Samples.GetDataSet()
--- End of inner exception stack trace ---


Revisa que estes haciendo bien la llamada, no veo llamadas a otros servidores que puedan disparar un problema de seguridad

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.