FAQ
Necesito escribir un cliente en PHP para un servicio web que está escrito en .NET.

Ya he escrito clientes en PHP para servicios web en .NET antes, sin embargo esta vez hay algo nuevo.

Se debe enviar ademas de la petición un "token" de autenticación.

<s:element name="TokenHeader" type="s0:TokenHeader" />
<s:complexType name="TokenHeader">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Cuenta" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ClavePoliza" type="s:string" />
</s:sequence>
</s:complexType>

Yo estoy queriendo invocar el servicio ObtenerMarcas, que es parte del webservice, como se puede ver en el WSDL que está aqui http://php.pastebin..com/m65f7b311 .

Tengo un ejemplo escrito en Visual Basic, que dice así:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objToken As New WsAbaCatalogos.TokenHeader
Dim objWsABACatalogo As New WsAbaCatalogos.wsCatalogos
Dim objXmlDocument As New XmlDocument
Dim colElementos As XmlNodeList
Dim objNodo As XmlNode
Dim objDataSet As New DataSet
Dim strCatalogos As String
Dim strXMLDatosCat, AgrupacionMarcaDesc, hora As String
Dim ValorCombo As String
Dim iIndice As Integer = 0
Dim SumaAsegDsc, TipoRiesgo, RiesgoId, RiesgoDsc, SumaAseg, DeduciblePct, PrimaNeta, strPrimaTotal As String
Dim PrimaTotal As Single
Dim tiporenglonid, AgrupacionMarcaID As Integer

objToken.Cuenta = "PRUEBASWS" ' Cambiar por el que ABA le proporcionó
objToken.Password = "Pruebas#" ' Cambiar por el que ABA le proporcionó

objWsABACatalogo.TokenHeaderValue = objToken
tiporenglonid = 1

ValorCombo = TipoWSCat.SelectedValue.ToString.ToUpper()

Select Case ValorCombo
Case "EDOYMUN"
Inicio.Text = "Inicio WebServices:"
Fin.Text = "Fin WebServices:"
hora = Hour(Now()) & ":" & Minute(Now()) & ":" & Second(Now())
Inicio.Text = Inicio.Text & hora.ToString()
strCatalogos = objWsABACatalogo.ObtenerCatalogoEstadosMunicipios()
hora = Hour(Now()) & ":" & Minute(Now()) & ":" & Second(Now())
Fin.Text = Fin.Text & hora.ToString()
objXmlDocument.LoadXml(strCatalogos)

XmlSalida.Text = strCatalogos.ToString()
Case "MARCAS"
Inicio.Text = "Inicio WebServices:"
Fin.Text = "Fin WebServices:"
hora = Hour(Now()) & ":" & Minute(Now()) & ":" & Second(Now())
Inicio.Text = Inicio.Text & hora.ToString()
strCatalogos = objWsABACatalogo.ObtenerMarcas()
hora = Hour(Now()) & ":" & Minute(Now()) & ":" & Second(Now())
Fin.Text = Fin.Text & hora.ToString()
objXmlDocument.LoadXml(strCatalogos)
TblResultados.Rows.Add(NuevoRenglonMarcas("AGRUPACION ID", "AGRUPACION DESCRIPCION", tiporenglonid))
colElementos = objXmlDocument.GetElementsByTagName("AGM")
XmlEntrada.Text = "Sin Entrada."
XmlSalida.Text = strCatalogos.ToString()
For Each objNodo In colElementos
AgrupacionMarcaID = objNodo("AGMID").InnerText()
AgrupacionMarcaDesc = objNodo("AGMDSC").InnerText()
If tiporenglonid = 1 Then
tiporenglonid = tiporenglonid + 1
End If
TblResultados.Rows.Add(NuevoRenglonMarcas(AgrupacionMarcaID, AgrupacionMarcaDesc, tiporenglonid))
iIndice += 1
If tiporenglonid = 2 Then
tiporenglonid = tiporenglonid + 1
Else
tiporenglonid = tiporenglonid - 1
End If
Next
End Select
objWsABACatalogo.Dispose()
objWsABACatalogo = Nothing
End Sub

Y necesito escribir algo equivalente en PHP.

Agradezco mucho su ayuda.

--
This message was sent on behalf of sebastian.mantilla@gmail.com at openSubscriber.com
http://www.opensubscriber.com/messages/php-es@lists.php.net/topic.html

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedSep 18, '08 at 11:15p
activeSep 18, '08 at 11:15p
posts1
users1
websitephp.net

1 user in discussion

Sebastian Mantilla: 1 post

People

Translate

site design / logo © 2022 Grokbase