Hi all,
I just have this problem. I used to invoque a http webservice from pb 11 using EasySoap Engine but now the web service has changed to https and the call from PB is useless.
1. I already tried to make a new web service proxy using .Net engine instead of EasySoap but when I put the WSDL file name I got the message "Cannot Access the WSDL or the WSDL file is invalid"
2. I read everything I found about this problem and test some of the solutions proposed but PB11 doesn't work.
3. I installed PB 12.6 evaluation in order to known if its a PB version problem. I could succesfully create the web service proxy using .Net Engine, but when I deployed the web service , the fuction inside of it has duplicated its parameters.
The webservice originally has 2 parameters:
getmaterialbyregistro( long codigoregistro, long sede) returns boolean
But in PB webservice I got this:
getmaterialbyregistro( long codigoregistro, boolean codigoregistrospecified, long sede, boolean sedespecified, ref boolean getmaterialbyregistroresult, ref boolean getmaterialbyregistroresultspecified).
I don't know what I'm doing wrong. Somebody can help me please.
PD:
1. Which engine are you using? EasySoap or .Net?
.NET
2. You have a WSDL for the service you can share?
https://desarrollo.ute.edu.ec/DspaceWebService/DspaceService.svc?wsdl (attached)
3. Is the service externally accessible, so somebody can hit it and see what is going on?
No
4. Can you share the code you're using to access the service?
long ll_ret
string ls_wsdl
boolean lb_resultado,bl_test
SoapConnection Conn //Define SOAP connection
dspaceservice dspace //Define Proxy
SetPointer(HourGlass!)
Conn = create SoapConnection
ls_wsdl = ProfileString( gs_pathini, &
"aplicacion", "wsdl", "")
if ls_wsdl = "" then
Messagebox("Error de Configuración", "La ruta para el WebService Dspace no ha sido definida.")
Return -1
end if
ll_ret = Conn.CreateInstance(dspace, "dspaceservice",ls_wsdl)
//Create proxy
if ll_ret <> 0 then
Messagebox("CreateInstance", "Failed, returnvalue = "+string(ll_ret))
else
Try
dspace.getmaterialbyregistro( al_codigo, bl_test , al_sede, bl_test, lb_resultado , bl_test )
Catch ( SoapException ex )
//error handling
messagebox("soapexception", ex.text)
lb_resultado = false
end try
end if
Destroy Conn
if not lb_resultado then
return -1
end if
Return 1