brns 0 Denunciar post Postado Maio 20, 2008 Viva, Estou a procurar consumir um serviço chamado GetMemberPointsAvailable usando VB.NET (2.0) . O wsdl está em: http://sp-s3g-uat.iclp.com.au/ws/egapi/v1-0/egapi.cfc?wsdl É um serviço escrito em coldfusion - axis engine. Adicionei a referrência do Web Service no Visual Studio, chamei o serviço, mas não recebo nenhuma resposta - apenas uma array vazia. Agradeço antecipadamente qualquer ajuda. BS Compartilhar este post Link para o post Compartilhar em outros sites
sublyer 0 Denunciar post Postado Maio 20, 2008 Verifique junto ao fornecedor do webservice qual é o retorno esperado, verifique também se os parâmetros utilizados (se houver) estão corretos. Flwww Compartilhar este post Link para o post Compartilhar em outros sites
brns 0 Denunciar post Postado Maio 20, 2008 Viva: Utilizando o SoapUI, o serviço devolve uma resposta de modo correcto: <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'> <soapenv:Body> <getMemberPointsAvailableResponse xmlns='http://v10.egapi.ws'> <getMemberPointsAvailableReturn xsi:type='ns1:Map' xmlns:ns1='http://xml.apache.org/xml-soap'> <item xmlns=''> <key xsi:type='xsd:string'> RESPONSEERRORS </key> <value xsi:type='ns2:ArrayOf_xsd_anyType' xmlns:ns2='http://rpc.xml.coldfusion'/> </item> <item xmlns=''> <key xsi:type='xsd:string'> RESPONSESUCCESS </key> <value xsi:type='xsd:string'> true </value> </item> <item xmlns=''> <key xsi:type='xsd:string'> RESPONSEDATA </key> <value xsi:type='ns1:Map'> <item> <key xsi:type='xsd:string'> POINTS_AVAILABLE </key> <value xsi:type='xsd:int'> 415 </value> </item> </value> </item> </getMemberPointsAvailableReturn> </getMemberPointsAvailableResponse> </soapenv:Body> </soapenv:Envelope> Adicionei um botão no form e coloquei o seguinte código no evento de premir o botão: Dim client As New webserviceICLP.SportingWS For Each item As webserviceICLP.mapItem In client.getMemberPointsAvailable("xxxxx", "yyyy", "123456789") MsgBox(item.key & vbNewLine & item.value) Next Retorna vazio... De seguida procurei serializar a resposta com o seguinte código: Dim wsICLP As New webserviceICLP.SportingWS Dim MyParams() As webserviceICLP.mapItem = {New webserviceICLP.mapItem} MyParams = wsICLP.getMemberPointsAvailable("xxxxx", "yyyy", "123456789") MsgBox(SerializeToXML(MyParams)) Public Shared Function SerializeToXML(Of T)(ByVal obj As T) As String Dim returnXML As String = String.Empty Dim serializer As New Serialization.XmlSerializer(GetType(T)) Using writer As New IO.StringWriter serializer.Serialize(New XmlTextWriter(writer), obj) returnXML = writer.ToString() End Using Return returnXML End Function O resultado é: <?xml version="1.0" encoding="utf-16"?><ArrayOfMapItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" /> ...ou seja, parece que vem apenas o cabeçalho do serviço e nada mais. Obrigado pela ajuda! BS Compartilhar este post Link para o post Compartilhar em outros sites