Delphi 2010 webservice consumer pass null strings to webservice [Edit]

Hello, I need to consume a webservice that is developed in java ( thas all that I know ). I have a HTTPRIO componente and have import the webservice file win the WSDL importer. Til here everything is allright but when I run the application all the parameters reach the webservice as null.
I have made some webservice and consumers but I never have had problems ( I make the server and the client ) I test to do the same with prism and c++ bilder and it go allright, but I need it to do in delphi

Thanks

PD: Pleas be patient, my English is not good

Edited by: Adrian Zussino on Sep 8, 2010 3:28 PM
0
Adrian
9/8/2010 10:28:40 PM
embarcadero.delphi.webservices 976 articles. 0 followers. Follow

41 Replies
1852 Views

Similar Articles

[PageSpeed] 49

> {quote:title=Adrian Zussino wrote:}{quote}
> Hello, I need to consume a webservice that is developed in java ( thas all that I know ). I have a HTTPRIO componente and have import the webservice file win the WSDL importer. Til here everything is allright but when I run the application all the parameters reach the webservice as null.
> I have made some webservice and consumers but I never have had problems ( I make the server and the client ) I test to do the same with prism and c++ bilder and it go allright, but I need it to do in delphi
> 
> Thanks
> 
> PD: Pleas be patient, my English is not good
> 
> Edited by: Adrian Zussino on Sep 8, 2010 3:28 PM

Some data added:
Delphi HTTPRIO beforeexecute:
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><chequearDatosTicketBrant xmlns="http://comprasycanjes.ejb.dao.tarjetadata.com/"><arg0>5</arg0><arg1>0004-12345678</arg1><arg2>3</arg2><arg3>16665456</arg3><arg4>200</arg4></chequearDatosTicketBrant></SOAP-ENV:Body></SOAP-ENV:Envelope>

C++ Builder HTPPRIO beforeexecute
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><NS1:chequearDatosTicketBrant xmlns:NS1="http://comprasycanjes.ejb.dao.tarjetadata.com/"><arg0 xsi:type="xsd:int">5</arg0><arg1 xsi:type="xsd:string">16665456</arg1><arg2 xsi:type="xsd:short">
3</arg2><arg3 xsi:type="xsd:string">0001-87654321</arg3><arg4 xsi:type="xsd:string">200</arg4></NS1:chequearDatosTicketBrant></SOAP-ENV:Body></SOAP-ENV:Envelope>
0
Adrian
9/8/2010 11:30:14 PM
Hello Adrian,

I'll look at this a little more in details later but at first glance, the 
request packet of C++ indicates that it's treating the service as rpc|enc 
while the Delphi side is not. Can you confirm the following for me? Does the 
Delphi unit generated by the WSDL importer contain the following line:

{code}
  InvRegistry.RegisterInvokeOptions(TypeInfo(<ServiceInterfaceHere>), 
ioDocument);
{code}



And I assume the C++ side does not contain the equivalent:

{code}
  InvRegistry()->RegisterInvokeOptions(__delphirtti(<ServiceInterfaceHere>), 
ioDocument);
{code}


If that's indeed the case, comment out the ioDocument registration on the 
Delphi side and let us know if that helps.

Cheers,

Bruneau

PS: If you can post the URL to the WSDL, or the WSDL itself we can evaluate 
why the difference.
0
Jean
9/9/2010 12:25:02 AM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello Adrian,
> 
> I'll look at this a little more in details later but at first glance, the 
> request packet of C++ indicates that it's treating the service as rpc|enc 
> while the Delphi side is not. Can you confirm the following for me? Does the 
> Delphi unit generated by the WSDL importer contain the following line:
> 
> {code}
>   InvRegistry.RegisterInvokeOptions(TypeInfo(<ServiceInterfaceHere>), 
> ioDocument);
> {code}
> 
> 
> 
> And I assume the C++ side does not contain the equivalent:
> 
> {code}
>   InvRegistry()->RegisterInvokeOptions(__delphirtti(<ServiceInterfaceHere>), 
> ioDocument);
> {code}
> 
> 
> If that's indeed the case, comment out the ioDocument registration on the 
> Delphi side and let us know if that helps.
> 
> Cheers,
> 
> Bruneau
> 
> PS: If you can post the URL to the WSDL, or the WSDL itself we can evaluate 
> why the difference.

In Delphi the WSDL Importer generate de following lines

  InvRegistry.RegisterInterface(TypeInfo(ServiceRegistroCompras), 'http://comprasycanjes.ejb.dao.tarjetadata.com/', 'UTF-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ServiceRegistroCompras), '');
  InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceRegistroCompras), ioDocument);

and in C++ Builder

  InvRegistry()->RegisterInterface(__delphirtti(ServiceRegistroCompras), L"http://comprasycanjes.ejb.dao.tarjetadata.com/", L"UTF-8");
  InvRegistry()->RegisterDefaultSOAPAction(__delphirtti(ServiceRegistroCompras), L"");
  InvRegistry()->RegisterInvokeOptions(__delphirtti(ServiceRegistroCompras), ioDocument);
  InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), L"calcularVentasdeEmpresa", L"return_", L"return");
  InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), L"chequearNumeroFactura", L"return_", L"return");
  InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), L"chequearDatosTicketBrant", L"return_", L"return");
  InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), L"addRegistroCompras", L"return_", L"return");
  InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), L"obtenerHistorialCompras", L"return_", L"return");

with this lines generated, C++ Builder doesen´t work so I change this

InvRegistry()->RegisterInvokeOptions(__delphirtti(ServiceRegistroCompras), ioDocument);

for this

InvRegistry()->RegisterInvokeOptions(__delphirtti(ServiceRegistroCompras), ioDefault);

and "Bingo" it works, but in Delphi this change doesen´t work

The web service is running in a private network but I will talk with the other guys for public the WSDL
0
Adrian
9/9/2010 11:21:14 AM
Hello,


> In Delphi the WSDL Importer generate de following lines
>
>  InvRegistry.RegisterInterface(TypeInfo(ServiceRegistroCompras), 
> 'http://comprasycanjes.ejb.dao.tarjetadata.com/', 'UTF-8');
>  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ServiceRegistroCompras), 
> '');
>  InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceRegistroCompras), 
> ioDocument);
>
> and in C++ Builder
>
>  InvRegistry()->RegisterInterface(__delphirtti(ServiceRegistroCompras), 
> L"http://comprasycanjes.ejb.dao.tarjetadata.com/", L"UTF-8");
> 
> InvRegistry()->RegisterDefaultSOAPAction(__delphirtti(ServiceRegistroCompras), 
> L"");
> 
> InvRegistry()->RegisterInvokeOptions(__delphirtti(ServiceRegistroCompras), 
> ioDocument);
> 
> InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), 
> L"calcularVentasdeEmpresa", L"return_", L"return");
> 
> InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), 
> L"chequearNumeroFactura", L"return_", L"return");
> 
> InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), 
> L"chequearDatosTicketBrant", L"return_", L"return");
> 
> InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), 
> L"addRegistroCompras", L"return_", L"return");
> 
> InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), 
> L"obtenerHistorialCompras", L"return_", L"return");
>
> with this lines generated, C++ Builder doesen´t work so I change this
>
> InvRegistry()->RegisterInvokeOptions(__delphirtti(ServiceRegistroCompras), 
> ioDocument);
>
> for this
>
> InvRegistry()->RegisterInvokeOptions(__delphirtti(ServiceRegistroCompras), 
> ioDefault);
>
> and "Bingo" it works, but in Delphi this change doesen´t work


This very puzzling. It seems that we have at least two problems:

1. If changing 'ioDocument' to 'ioDefault' makes C++ work then one could say 
that the importer incorrectly read the WSDL? My only explanation here would 
be that maybe it was a style of service that we don't support: namely 
rpc|literal. If you cannot email me a copy of the WSDL, can you check the 
binding section: I'm after the 'style' and 'use' attributes. Does it read 
"RPC" and "literal" respectively?


2. The fact that making the same change to Delphi is different from C++ is 
also puzzling because it's the same underlying framework. I'd like to get a 
copy of the .pas and .cpp/h files generated by the importers in order to 
investigate this. The two should be generating the same request packet.


> The web service is running in a private network but I will talk with the 
> other guys for public the WSDL

If you cannot post or email me a copy of the WSDL, do send me a copy of the 
..cpp/h and .pas files generated by the importer. This would allow me to look 
at item #2 above.


Cheers,

Bruneau
0
Jean
9/9/2010 5:16:32 PM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> 
> > In Delphi the WSDL Importer generate de following lines
> >
> >  InvRegistry.RegisterInterface(TypeInfo(ServiceRegistroCompras), 
> > 'http://comprasycanjes.ejb.dao.tarjetadata.com/', 'UTF-8');
> >  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ServiceRegistroCompras), 
> > '');
> >  InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceRegistroCompras), 
> > ioDocument);
> >
> > and in C++ Builder
> >
> >  InvRegistry()->RegisterInterface(__delphirtti(ServiceRegistroCompras), 
> > L"http://comprasycanjes.ejb.dao.tarjetadata.com/", L"UTF-8");
> > 
> > InvRegistry()->RegisterDefaultSOAPAction(__delphirtti(ServiceRegistroCompras), 
> > L"");
> > 
> > InvRegistry()->RegisterInvokeOptions(__delphirtti(ServiceRegistroCompras), 
> > ioDocument);
> > 
> > InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), 
> > L"calcularVentasdeEmpresa", L"return_", L"return");
> > 
> > InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), 
> > L"chequearNumeroFactura", L"return_", L"return");
> > 
> > InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), 
> > L"chequearDatosTicketBrant", L"return_", L"return");
> > 
> > InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), 
> > L"addRegistroCompras", L"return_", L"return");
> > 
> > InvRegistry()->RegisterExternalParamName(__delphirtti(ServiceRegistroCompras), 
> > L"obtenerHistorialCompras", L"return_", L"return");
> >
> > with this lines generated, C++ Builder doesen´t work so I change this
> >
> > InvRegistry()->RegisterInvokeOptions(__delphirtti(ServiceRegistroCompras), 
> > ioDocument);
> >
> > for this
> >
> > InvRegistry()->RegisterInvokeOptions(__delphirtti(ServiceRegistroCompras), 
> > ioDefault);
> >
> > and "Bingo" it works, but in Delphi this change doesen´t work
> 
> 
> This very puzzling. It seems that we have at least two problems:
> 
> 1. If changing 'ioDocument' to 'ioDefault' makes C++ work then one could say 
> that the importer incorrectly read the WSDL? My only explanation here would 
> be that maybe it was a style of service that we don't support: namely 
> rpc|literal. If you cannot email me a copy of the WSDL, can you check the 
> binding section: I'm after the 'style' and 'use' attributes. Does it read 
> "RPC" and "literal" respectively?
> 
> 
> 2. The fact that making the same change to Delphi is different from C++ is 
> also puzzling because it's the same underlying framework. I'd like to get a 
> copy of the .pas and .cpp/h files generated by the importers in order to 
> investigate this. The two should be generating the same request packet.
> 
> 
> > The web service is running in a private network but I will talk with the 
> > other guys for public the WSDL
> 
> If you cannot post or email me a copy of the WSDL, do send me a copy of the 
> .cpp/h and .pas files generated by the importer. This would allow me to look 
> at item #2 above.
> 
> 
> Cheers,
> 
> Bruneau

Bruneau, this is the public WSDL
http://190.225.181.34:8280/EJBRegistroComprasBeanService/ServiceRegistroCompras?wsdl

Hope you can help me, thanks
Adrian.
0
Adrian
9/10/2010 7:22:49 PM
Hello Adrian,

Thanks for the URL. The fact that C++ worked in rpc|enc mode was just a 
coincidence. The service is really doc|lit but with a twist: the elements of 
the wrapper types are unqualified. This is not different from the other 
issues that I've noticed recently on the forum: by unwrapping we're losing a 
key piece of information that the runtime needs to generate proper XML.

I am getting an update ready for this issue but until then here's the 
workaround:

1. Reimport the WSDL but this time turn OFF the 'Unwind Literal Params' 
option (if you're using WSDLImp.exe, it's the -Ou- option).

2. You'll need to write your code a little differently with the wrapper 
elements left intact. For example, to call 'chequearDatosTicketBrant', 
you'll do something along the lines of:

{code}
procedure TForm22.Button1Click(Sender: TObject);
var
  Service: ServiceRegistroCompras;
  Request: chequearDatosTicketBrant2;
  Response: chequearDatosTicketBrantResponse2;
begin
  Service := GetServiceRegistroCompras(False, '', HTTPRIO1);
  Request := chequearDatosTicketBrant2.Create;
  try
    Request.arg0 := 5;
    Request.arg1 := '0004-12345678';
    Request.arg2 := 3;
    Request.arg3 := '16665456';
    Request.arg4 := '200';
    Response := Service.chequearDatosTicketBrant(Request);
    try
      // Here process Response
      ShowMessage(Response.return);
    finally
      Response.Free;
    end;
  finally
    Request.Free;
  end;
end;
{code}


3. The XML request generated should be:

{code}
<?xml version="1.0"?>
<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Body>
    <chequearDatosTicketBrant 
xmlns="http://comprasycanjes.ejb.dao.tarjetadata.com/">
      <arg0 xmlns="">5</arg0>
      <arg1 xmlns="">0004-12345678</arg1>
      <arg2 xmlns="">3</arg2>
      <arg3 xmlns="">16665456</arg3>
      <arg4 xmlns="">200</arg4>
    </chequearDatosTicketBrant>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
{code}


4. And the response I got back for the above is:

{code}
<?xml version="1.0"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
    <ns2:chequearDatosTicketBrantResponse 
xmlns:ns2="http://comprasycanjes.ejb.dao.tarjetadata.com/">
      <return>FACTURA ENCONTRADA EN LA YAPA</return>
    </ns2:chequearDatosTicketBrantResponse>
  </S:Body>
</S:Envelope>
{code}


The importer should have refrained to unwrap once it realized that the 
elements of the wrapper type were unqualified. But expliclty not unwrapping 
is a temporary measure: I'll have some changes whereby the importer store 
away all pieces of information. And if somehow we can't store everything, 
we'll simply not unwrap.

Let me know if the above does not help. The key is to make sure that you're 
imported interface looks like this:

{code}
  // 
************************************************************************ //
  // Namespace : http://comprasycanjes.ejb.dao.tarjetadata.com/
  // transport : http://schemas.xmlsoap.org/soap/http
  // style     : document
  // binding   : ServiceRegistroComprasPortBinding
  // service   : EJBRegistroComprasBeanService
  // port      : ServiceRegistroComprasPort
  // URL       : 
http://190.225.181.34:8280/EJBRegistroComprasBeanService/ServiceRegistroCompras
  // 
************************************************************************ //
  ServiceRegistroCompras = interface(IInvokable)
  ['{71F36090-8294-A53B-A63C-31909A720323}']
    function  calcularVentasdeEmpresa(const parameters: 
calcularVentasdeEmpresa2): calcularVentasdeEmpresaResponse2; stdcall;
    function  chequearNumeroFactura(const parameters: 
chequearNumeroFactura2): chequearNumeroFacturaResponse2; stdcall;
    function  chequearDatosTicketBrant(const parameters: 
chequearDatosTicketBrant2): chequearDatosTicketBrantResponse2; stdcall;
    function  addRegistroCompras(const parameters: addRegistroCompras2): 
addRegistroComprasResponse2; stdcall;
    function  obtenerHistorialCompras(const parameters: 
obtenerHistorialCompras2): obtenerHistorialComprasResponse2; stdcall;
    function  chequearDatosTicketCasa2000(const parameters: 
chequearDatosTicketCasa20002): chequearDatosTicketCasa2000Response2; 
stdcall;
  end;
{end}

Cheers,


Bruneau
0
Jean
9/10/2010 11:56:42 PM
Hello,


> Hello, thanks for all, but now whe y try to run te application y recive 
> the error "No native to message converter set". It´s seem that is some 
> kind of problem with a windows update, I have download the actualizacion 
> KB927977 with nothing chage, I will troy some other. Tahnks for all

This message typically indicates that the RIO did not have a message 
converter. Are you using the default getter exposed by the importer? If yes, 
as this:

   Service := GetServiceRegistroCompras(False, '');

    or as this

   Service := GetServiceRegistroCompras(False, '', HTTPRIO1);


If it's thelatter then you'll need to see if you're confuguring the RIO with 
a custom converter... or something like that.

If you're not using the getter, try it and use the default version that does 
not take a RIO.

Let me know if the above does not help.

Cheers,

Bruneau
0
Jean
9/13/2010 3:33:58 PM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello Adrian,
> 
> Thanks for the URL. The fact that C++ worked in rpc|enc mode was just a 
> coincidence. The service is really doc|lit but with a twist: the elements of 
> the wrapper types are unqualified. This is not different from the other 
> issues that I've noticed recently on the forum: by unwrapping we're losing a 
> key piece of information that the runtime needs to generate proper XML.
> 
> I am getting an update ready for this issue but until then here's the 
> workaround:
> 
> 1. Reimport the WSDL but this time turn OFF the 'Unwind Literal Params' 
> option (if you're using WSDLImp.exe, it's the -Ou- option).
> 
> 2. You'll need to write your code a little differently with the wrapper 
> elements left intact. For example, to call 'chequearDatosTicketBrant', 
> you'll do something along the lines of:
> 
> {code}
> procedure TForm22.Button1Click(Sender: TObject);
> var
>   Service: ServiceRegistroCompras;
>   Request: chequearDatosTicketBrant2;
>   Response: chequearDatosTicketBrantResponse2;
> begin
>   Service := GetServiceRegistroCompras(False, '', HTTPRIO1);
>   Request := chequearDatosTicketBrant2.Create;
>   try
>     Request.arg0 := 5;
>     Request.arg1 := '0004-12345678';
>     Request.arg2 := 3;
>     Request.arg3 := '16665456';
>     Request.arg4 := '200';
>     Response := Service.chequearDatosTicketBrant(Request);
>     try
>       // Here process Response
>       ShowMessage(Response.return);
>     finally
>       Response.Free;
>     end;
>   finally
>     Request.Free;
>   end;
> end;
> {code}
> 
> 
> 3. The XML request generated should be:
> 
> {code}
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope 
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>   <SOAP-ENV:Body>
>     <chequearDatosTicketBrant 
> xmlns="http://comprasycanjes.ejb.dao.tarjetadata.com/">
>       <arg0 xmlns="">5</arg0>
>       <arg1 xmlns="">0004-12345678</arg1>
>       <arg2 xmlns="">3</arg2>
>       <arg3 xmlns="">16665456</arg3>
>       <arg4 xmlns="">200</arg4>
>     </chequearDatosTicketBrant>
>   </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> {code}
> 
> 
> 4. And the response I got back for the above is:
> 
> {code}
> <?xml version="1.0"?>
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>   <S:Body>
>     <ns2:chequearDatosTicketBrantResponse 
> xmlns:ns2="http://comprasycanjes.ejb.dao.tarjetadata.com/">
>       <return>FACTURA ENCONTRADA EN LA YAPA</return>
>     </ns2:chequearDatosTicketBrantResponse>
>   </S:Body>
> </S:Envelope>
> {code}
> 
> 
> The importer should have refrained to unwrap once it realized that the 
> elements of the wrapper type were unqualified. But expliclty not unwrapping 
> is a temporary measure: I'll have some changes whereby the importer store 
> away all pieces of information. And if somehow we can't store everything, 
> we'll simply not unwrap.
> 
> Let me know if the above does not help. The key is to make sure that you're 
> imported interface looks like this:
> 
> {code}
>   // 
> ************************************************************************ //
>   // Namespace : http://comprasycanjes.ejb.dao.tarjetadata.com/
>   // transport : http://schemas.xmlsoap.org/soap/http
>   // style     : document
>   // binding   : ServiceRegistroComprasPortBinding
>   // service   : EJBRegistroComprasBeanService
>   // port      : ServiceRegistroComprasPort
>   // URL       : 
> http://190.225.181.34:8280/EJBRegistroComprasBeanService/ServiceRegistroCompras
>   // 
> ************************************************************************ //
>   ServiceRegistroCompras = interface(IInvokable)
>   ['{71F36090-8294-A53B-A63C-31909A720323}']
>     function  calcularVentasdeEmpresa(const parameters: 
> calcularVentasdeEmpresa2): calcularVentasdeEmpresaResponse2; stdcall;
>     function  chequearNumeroFactura(const parameters: 
> chequearNumeroFactura2): chequearNumeroFacturaResponse2; stdcall;
>     function  chequearDatosTicketBrant(const parameters: 
> chequearDatosTicketBrant2): chequearDatosTicketBrantResponse2; stdcall;
>     function  addRegistroCompras(const parameters: addRegistroCompras2): 
> addRegistroComprasResponse2; stdcall;
>     function  obtenerHistorialCompras(const parameters: 
> obtenerHistorialCompras2): obtenerHistorialComprasResponse2; stdcall;
>     function  chequearDatosTicketCasa2000(const parameters: 
> chequearDatosTicketCasa20002): chequearDatosTicketCasa2000Response2; 
> stdcall;
>   end;
> {end}
> 
> Cheers,
> 
> 
> Bruneau

Hello, thanks for all, but now when y try to run the application y recive the error "No native to message converter set". It´s seem that is some kind of problem with a windows update, I have download the update KB927977 but nothing chage, I will try some other. Thanks for all

Adrian

Edited by: Adrian Zussino on Sep 13, 2010 12:22 PM
0
Adrian
9/13/2010 7:23:17 PM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> 
> > Hello, thanks for all, but now whe y try to run te application y recive 
> > the error "No native to message converter set". It´s seem that is some 
> > kind of problem with a windows update, I have download the actualizacion 
> > KB927977 with nothing chage, I will troy some other. Tahnks for all
> 
> This message typically indicates that the RIO did not have a message 
> converter. Are you using the default getter exposed by the importer? If yes, 
> as this:
> 
>    Service := GetServiceRegistroCompras(False, '');
> 
>     or as this
> 
>    Service := GetServiceRegistroCompras(False, '', HTTPRIO1);
> 
> 
> If it's thelatter then you'll need to see if you're confuguring the RIO with 
> a custom converter... or something like that.
> 
> If you're not using the getter, try it and use the default version that does 
> not take a RIO.
> 
> Let me know if the above does not help.
> 
> Cheers,
> 
> Bruneau

I have been watching this thead hoping for a solution since I have the same issue, hope you don't mind if I jump in to the discussion. 
Based on information in another thread in this forum I upgraded to Delphi XE thinking the problem had been fixed in the new release. It hasn't. 
My Web Service client has to pass two string arrays to a Web Service developed with JAX-WS. 
The function I am calling is defined as follows:
   function  orderDataToThirdParty(const itemIds: Array_Of_string; const outputFileNames: Array_Of_string; 
                                                 const emailAddresses: string; const priority: Integer; const nodeId: string; const instructions: string; 
                                                 const userName: string; const password: string): string; stdcall;
Delphi generates the following XML request which fails due to empty string array parameters:
   <?xml version="1.0"?> 
   <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
     <SOAP-ENV:Body xmlns:NS1="http://kelman.com" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">  
       <NS1:orderDataToThirdParty>
         <item>186345-1</item>
         <item>186345-2</item>
         <item>186345-3</item>
         <item>186345-4</item>
         <item>186345-1.TIFF</item>
         <item>186345-2.TIFF</item>
         <item>186345-3.TIFF</item>
         <item>186345-4.TIFF</item>
         <emailAddresses xsi:type="xsd:string">hal@accu-audit.com</emailAddresses>
         <priority xsi:type="xsd:int">20</priority>
         <nodeId xsi:type="xsd:string">3520</nodeId>
         <instructions xsi:type="xsd:string">test</instructions>
         <userName xsi:type="xsd:string">cenovus-accuaudit</userName>
         <password xsi:type="xsd:string">kwstest</password>
       </NS1:orderDataToThirdParty>
     </SOAP-ENV:Body>
   </SOAP-ENV:Envelope>

Note that the two string arrays end up with the same tag named <item>..<item/> so you are unable to distinguish one array from the other. Odd.
I manually modified the above XML to look as follows and used Fiddler to send it to the Web Service and it worked!!
   <?xml version="1.0"?>
   <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
     <SOAP-ENV:Body xmlns:NS1="http://kelman.com" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">  
       <NS1:orderDataToThirdParty>
         <itemIds>186345-1</itemIds>
         <itemIds>186345-2</itemIds>
         <itemIds>186345-3</itemIds>
         <itemIds>186345-4</itemIds>
         <outputFileNames>186345-1.TIFF</outputFileNames>
         <outputFileNames>186345-2.TIFF</outputFileNames>
         <outputFileNames>186345-3.TIFF</outputFileNames>
         <outputFileNames>186345-4.TIFF</outputFileNames>
         <emailAddresses xsi:type="xsd:string">hal@accu-audit.com</emailAddresses>
         <priority xsi:type="xsd:int">20</priority>
         <nodeId xsi:type="xsd:string">3520</nodeId>
         <instructions xsi:type="xsd:string">test</instructions>
         <userName xsi:type="xsd:string">cenovus-accuaudit</userName>
         <password xsi:type="xsd:string">kwstest</password>
       </NS1:orderDataToThirdParty>
     </SOAP-ENV:Body>
   </SOAP-ENV:Envelope>
 
Just by changing the delimiter tags to the match the parameter array names, <itemIds>..<itemIds/>  and  <outputFileNames>..<outputFileNames/> repectively, solved the problem.
Hopefully this is something that can be easily fixed in the Delphi parser to use the actual parameter names for tags.
I am going to try unchecking the UnWind Literal Params option, regenerate my code from the WSDL and modify the calls to use the wrappers as was suggested earlier in this thread to see if it solves the issue with passing the arrays. I will let you know how that works out.
If you like I will provide more details such as the WSDL and xds files, generated code, try other things etc. I would really like to see these issues resolved once and for all.
Regards,
Hal
0
Hal
9/17/2010 3:48:20 PM
Hello,

Thanks for jumping in. First off, I agree that I want this issue resolved 
and I've been working towards that recently.


> Delphi generates the following XML request which fails due to empty string 
> array parameters:
> ...
> Note that the two string arrays end up with the same tag named 
> <item>..<item/> so you are unable to distinguish one array from the other. 
> Odd.
> I manually modified the above XML to look as follows and used Fiddler to 
> send it to the Web Service and it worked!!

We will always use 'item' for Encoded style services. This was per the 
section 5 encoding rules back when I worked on the SOAP runtime. I suspect 
things have changed quite a bit since. Just recently someone sent me a WSDL 
where the array was declared in the style of a pure collection. This 
surprised me.



> If you like I will provide more details such as the WSDL and xds files, 
> generated code, try other things etc. I would really like to see these 
> issues resolved once and for all.

Yes, if it's possible to post or email me a copy of the WSDL, I'd love to 
make sure we get this addressed [I can be reached at bbabet at embarcadero 
dot com]. And if you're open to trying out an updated importer/runtime once 
I get to the bottom of these related issues, I'd be happy to make that 
available [informally].

Cheers,

Bruneau
0
Jean
9/17/2010 6:15:21 PM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> Thanks for jumping in. First off, I agree that I want this issue resolved 
> and I've been working towards that recently.
> 
> 
> > Delphi generates the following XML request which fails due to empty string 
> > array parameters:
> > ...
> > Note that the two string arrays end up with the same tag named 
> > <item>..<item/> so you are unable to distinguish one array from the other. 
> > Odd.
> > I manually modified the above XML to look as follows and used Fiddler to 
> > send it to the Web Service and it worked!!
> 
> We will always use 'item' for Encoded style services. This was per the 
> section 5 encoding rules back when I worked on the SOAP runtime. I suspect 
> things have changed quite a bit since. Just recently someone sent me a WSDL 
> where the array was declared in the style of a pure collection. This 
> surprised me.
> 
> 
> 
> > If you like I will provide more details such as the WSDL and xds files, 
> > generated code, try other things etc. I would really like to see these 
> > issues resolved once and for all.
> 
> Yes, if it's possible to post or email me a copy of the WSDL, I'd love to 
> make sure we get this addressed [I can be reached at bbabet at embarcadero 
> dot com]. And if you're open to trying out an updated importer/runtime once 
> I get to the bottom of these related issues, I'd be happy to make that 
> available [informally].
> 
> Cheers,
> 
> Bruneau

Hi Bruneau,
I have emailed you copies of the WSDL and xsd files for the Web Service I am usng. 
I re-imported the WSDL file with Unwind Literal Params turned off. Converted all my code to use the new generated code. All the function and procedure calls that worked previously still work correctly. But I still have the same problem with the one function call where I have to pass the two string arrays. In fact the XML request packet looks exactly the same as it did before with the string arrays using <item>..</item> tags. See below. 
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
  <SOAP-ENV:Body xmlns:NS1="http://kelman.com">
    <NS1:orderDataToThirdParty id="1" xsi:type="NS1:orderDataToThirdParty">
      <item>186345-1</item>
      <item>186345-2</item>
      <item>186345-3</item>
      <item>186345-4</item>
      <item>186345-1.TIFF</item>
      <item>186345-2.TIFF</item>
      <item>186345-3.TIFF</item>
      <item>186345-4.TIFF</item>
      <emailAddresses xsi:type="string">hal@accu-audit.com</emailAddresses>
      <priority xsi:type="int">20</priority>
      <nodeId xsi:type="string">3520</nodeId>
      <instructions xsi:type="string">testing</instructions>
      <userName xsi:type="string">cenovus-accuaudit</userName>
      <password xsi:type="string">kwstest</password>
    </NS1:orderDataToThirdParty><parameters href="#1"/>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Considering that the string arrays are concurrent parameters how could the Web Server distinguish which string array each <\item>..<item/> belongs too when it does not have an actual parameter name and no mention of the length of each array? It would seem common sense to me that each item in the list be named with the real parameters or that there be tags named by the real parameter surrounding the items that belong to that parameter. This seems to prove true when I change the tags to <ItemIds>..</ItemIds
>  and <outputFileNames>..</outputFileNames> and the XML package works correctly when passed to the server.
Regards,
Hal
0
Hal
9/17/2010 9:58:50 PM
Hello,

> I have emailed you copies of the WSDL and xsd files for the Web Service I 
> am usng.

Thank you for the files. I sent a reply to ask if you could send the files 
as .doc as our email blocks certain extensions, including .xml:(.



> Considering that the string arrays are concurrent parameters how could the 
> Web Server distinguish which string array each <\item>..<item/> belongs 
> too when it does not have an actual parameter name and no mention of the 
> length of each array? It would seem common sense to me that each item in 
> the list be named with the real parameters or that there be tags named by 
> the real parameter surrounding the items that belong to that parameter.

Yes.. I'll be able to say more once I see the WSDL but in my reference to 
<item> for Section-5 encoding I left out the fact that the elements were 
never unbounded. Rather it was like pure collections. You did not have this:

>      <item>186345-1</item>
>      <item>186345-2</item>
>      <item>186345-3</item>
>      <item>186345-4</item>
>      <item>186345-1.TIFF</item>
>      <item>186345-2.TIFF</item>
>      <item>186345-3.TIFF</item>
>      <item>186345-4.TIFF</item>

but rather:

  <ItemIds>
      <item>186345-1</item>
      <item>186345-2</item>
      <item>186345-3</item>
      <item>186345-4</item>
  </ItemIds>
  <OutputFileNames>
      <item>186345-1.TIFF</item>
      <item>186345-2.TIFF</item>
      <item>186345-3.TIFF</item>
      <item>186345-4.TIFF</item>
  </OutputFileNames>


I'll post a follow-up message as soon as I have investigated.

Cheers,

Bruneau
0
Jean
9/18/2010 12:19:08 AM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> > I have emailed you copies of the WSDL and xsd files for the Web Service I 
> > am usng.
> 
> Thank you for the files. I sent a reply to ask if you could send the files 
> as .doc as our email blocks certain extensions, including .xml:(.
> 
> 
> 
> > Considering that the string arrays are concurrent parameters how could the 
> > Web Server distinguish which string array each <\item>..<item/> belongs 
> > too when it does not have an actual parameter name and no mention of the 
> > length of each array? It would seem common sense to me that each item in 
> > the list be named with the real parameters or that there be tags named by 
> > the real parameter surrounding the items that belong to that parameter.
> 
> Yes.. I'll be able to say more once I see the WSDL but in my reference to 
> <item> for Section-5 encoding I left out the fact that the elements were 
> never unbounded. Rather it was like pure collections. You did not have this:
> 
> >      <item>186345-1</item>
> >      <item>186345-2</item>
> >      <item>186345-3</item>
> >      <item>186345-4</item>
> >      <item>186345-1.TIFF</item>
> >      <item>186345-2.TIFF</item>
> >      <item>186345-3.TIFF</item>
> >      <item>186345-4.TIFF</item>
> 
> but rather:
> 
>   <ItemIds>
>       <item>186345-1</item>
>       <item>186345-2</item>
>       <item>186345-3</item>
>       <item>186345-4</item>
>   </ItemIds>
>   <OutputFileNames>
>       <item>186345-1.TIFF</item>
>       <item>186345-2.TIFF</item>
>       <item>186345-3.TIFF</item>
>       <item>186345-4.TIFF</item>
>   </OutputFileNames>
> 
> 
> I'll post a follow-up message as soon as I have investigated.
> 
> Cheers,
> 
> Bruneau

Hi,
Due to time constrainst to deliver a working web service client I have put in a workaround sugggested by Bob Swart in a much earlier thread for previous versions of Delphi.
I added a custom THTTPRIO component and used the OnBeforeExecute event to modify the request XML string before it is sent to the web server. Shouls also note that I went back to an import of the WSDL with the Unwind Literal Params enabled. This works and I will use it until Delphi XE is updated with a new importer/runtime. Bruneau, I remain commited to help with any information and testing you need to get this issue resolved correctly. 
Workaround code added is as follows:

procedure Tfrm_KWS.KWS_HTTPRIOBeforeExecute(const MethodName: string; SOAPRequest: TStream);
var
  I: Integer;
  S: TStringList;
  Str: String;
begin
  if Uppercase(MethodName) = 'ORDERDATATOTHIRDPARTY' then
   begin
    SOAPRequest.Position := 0;
    S := TStringList.Create;
    try
      S.LoadFromStream(SOAPRequest);
      Str := S.Text;
      for I := 1 to OrderItemsCount do
       begin
        Str := StringReplace(Str,'<item>','<itemIds>',[rfIgnoreCase]);
        Str := StringReplace(Str,'</item>','</itemIds>',[rfIgnoreCase]);
       end;
      for I := 1 to OrderItemsCount do
       begin
        Str := StringReplace(Str,'<item>','<outputFileNames>',[rfIgnoreCase]);
        Str := StringReplace(Str,'</item>','</outputFileNames>',[rfIgnoreCase]);
       end;
      SOAPRequest.Position := 0;
      SOAPRequest.Size := Length(Str);
      S.Text := Str;
      S.SaveToStream(SOAPRequest)
    finally
      S.Free;
      SOAPRequest.Position := 0;
    end;
  end;
end;

Regards,
Hal
0
Hal
9/19/2010 8:12:26 PM
Hello,

Thanks for the files. There's something interesting about the XML request 
you posted before:

{code}
<?xml version="1.0"?>
   <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
     <SOAP-ENV:Body xmlns:NS1="http://kelman.com" 
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
       <NS1:orderDataToThirdParty>
         <item>186345-1</item>
         <item>186345-2</item>
         <item>186345-3</item>
         <item>186345-4</item>
         <item>186345-1.TIFF</item>
         <item>186345-2.TIFF</item>
         <item>186345-3.TIFF</item>
         <item>186345-4.TIFF</item>
         <emailAddresses 
xsi:type="xsd:string">hal@accu-audit.com</emailAddresses>
         <priority xsi:type="xsd:int">20</priority>
         <nodeId xsi:type="xsd:string">3520</nodeId>
         <instructions xsi:type="xsd:string">test</instructions>
         <userName xsi:type="xsd:string">cenovus-accuaudit</userName>
         <password xsi:type="xsd:string">kwstest</password>
       </NS1:orderDataToThirdParty>
     </SOAP-ENV:Body>
   </SOAP-ENV:Envelope>
{code}


The above is an XML package that's using SOAP encoding. You can tell but the 
encodingStyle attribute and also by the format of the request itself 
[xsi:type attributes, etc]. However, the WSDL you sent me is that of a 
document|literal service. IOW, it uses literal [i.e. XML schema style] 
encoding. In light of this the use of 'item' is understandable because the 
runtime will always use 'item' if it thinks that we using SOAP encoding.

Can you look at the file generated by the importer and let me know if it 
contains the following lines:

{code}
initialization
  InvRegistry.RegisterInterface(TypeInfo(Service), 'http://kelman.com', 
'UTF-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(Service), '');
  InvRegistry.RegisterInvokeOptions(TypeInfo(Service), ioDocument);
  InvRegistry.RegisterExternalParamName(TypeInfo(Service), 
'updateLineProfileName', 'name_', 'name');
  RemClassRegistry.RegisterXSClass(shippedItem, 'http://kelman.com', 
'shippedItem');
{code}

The key one being the "InvRegistry.RegisterInvokeOptions(TypeInfo(Service), 
ioDocument);". This is what tells the runtime to use literal encoding.

If that line is there I would expect the runtime to do the right thing as 
long as 'Array_of_string' is marked as an unbounded array. You can tell this 
by the following line:

{code}
  Array_Of_string = array of string;            { 
"http://www.w3.org/2001/XMLSchema"[GblUbnd] }
{code}

The [GlbUnbnd] says that it's a global unbounded type.

When we're in literal mode and the array is unbounded it's the parameter or 
property name that's used for the item name. So, if the function is 
prototyped as this:

{code}
    function  orderDataToThirdParty(const itemIds: Array_Of_string; const 
outputFileNames: Array_Of_string; const emailAddresses: string; const 
priority: Integer; const nodeId: string; const instructions: string;
                                    const userName: string; const password: 
string): string; stdcall;
{code}


I would expect elements of name 'itemIds' and 'outputFileNames'.


Can you double check the file generated by the importer and let me know what 
discrepancy you see with what I mentioned above. Thank you.

Cheers,

Bruneau
0
Jean
9/21/2010 8:24:51 PM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> Thanks for the files. There's something interesting about the XML request 
> you posted before:
> 
> {code}
> <?xml version="1.0"?>
>    <SOAP-ENV:Envelope 
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
>      <SOAP-ENV:Body xmlns:NS1="http://kelman.com" 
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
>        <NS1:orderDataToThirdParty>
>          <item>186345-1</item>
>          <item>186345-2</item>
>          <item>186345-3</item>
>          <item>186345-4</item>
>          <item>186345-1.TIFF</item>
>          <item>186345-2.TIFF</item>
>          <item>186345-3.TIFF</item>
>          <item>186345-4.TIFF</item>
>          <emailAddresses 
> xsi:type="xsd:string">hal@accu-audit.com</emailAddresses>
>          <priority xsi:type="xsd:int">20</priority>
>          <nodeId xsi:type="xsd:string">3520</nodeId>
>          <instructions xsi:type="xsd:string">test</instructions>
>          <userName xsi:type="xsd:string">cenovus-accuaudit</userName>
>          <password xsi:type="xsd:string">kwstest</password>
>        </NS1:orderDataToThirdParty>
>      </SOAP-ENV:Body>
>    </SOAP-ENV:Envelope>
> {code}
> 
> 
> The above is an XML package that's using SOAP encoding. You can tell but the 
> encodingStyle attribute and also by the format of the request itself 
> [xsi:type attributes, etc]. However, the WSDL you sent me is that of a 
> document|literal service. IOW, it uses literal [i.e. XML schema style] 
> encoding. In light of this the use of 'item' is understandable because the 
> runtime will always use 'item' if it thinks that we using SOAP encoding.
> 
> Can you look at the file generated by the importer and let me know if it 
> contains the following lines:
> 
> {code}
> initialization
>   InvRegistry.RegisterInterface(TypeInfo(Service), 'http://kelman.com', 
> 'UTF-8');
>   InvRegistry.RegisterDefaultSOAPAction(TypeInfo(Service), '');
>   InvRegistry.RegisterInvokeOptions(TypeInfo(Service), ioDocument);
>   InvRegistry.RegisterExternalParamName(TypeInfo(Service), 
> 'updateLineProfileName', 'name_', 'name');
>   RemClassRegistry.RegisterXSClass(shippedItem, 'http://kelman.com', 
> 'shippedItem');
> {code}
> 
> The key one being the "InvRegistry.RegisterInvokeOptions(TypeInfo(Service), 
> ioDocument);". This is what tells the runtime to use literal encoding.
> 
> If that line is there I would expect the runtime to do the right thing as 
> long as 'Array_of_string' is marked as an unbounded array. You can tell this 
> by the following line:
> 
> {code}
>   Array_Of_string = array of string;            { 
> "http://www.w3.org/2001/XMLSchema"[GblUbnd] }
> {code}
> 
> The [GlbUnbnd] says that it's a global unbounded type.
> 
> When we're in literal mode and the array is unbounded it's the parameter or 
> property name that's used for the item name. So, if the function is 
> prototyped as this:
> 
> {code}
>     function  orderDataToThirdParty(const itemIds: Array_Of_string; const 
> outputFileNames: Array_Of_string; const emailAddresses: string; const 
> priority: Integer; const nodeId: string; const instructions: string;
>                                     const userName: string; const password: 
> string): string; stdcall;
> {code}
> 
> 
> I would expect elements of name 'itemIds' and 'outputFileNames'.
> 
> 
> Can you double check the file generated by the importer and let me know what 
> discrepancy you see with what I mentioned above. Thank you.
> 
> Cheers,
> 
> Bruneau

Hi Bruneau,
The importer generated code does include the line of code: "InvRegistry.RegisterInvokeOptions(TypeInfo(Service),ioDocument);". 
However I was having no luck calling any function of the web service. I would always receive the following error no matter what I tried:
"... exception class ERemotableException with message 'java.lang.NullPointerException"
I found a post saying that if the "InvRegistry.RegisterInvokeOptions(TypeInfo(Service),ioDocument);" statement was commented out it would solve this issue. So I commented it out and all the function calls worked until I hit the function call passing the array parameters. Looks like Catch-22. Commenting out the line to fix one issue caused a new issue.
I just tried again with the ioDocument statement back in the initialization and I am unable to get anything to work.
Perhaps you know of a proper way to prevent the first NullPointerException without having to comment out the "InvRegistry.RegisterInvokeOptions(TypeInfo(Service),ioDocument);"?
Regards,
Hal
0
Hal
9/21/2010 10:14:07 PM
Hello,

> The importer generated code does include the line of code: 
> "InvRegistry.RegisterInvokeOptions(TypeInfo(Service),ioDocument);".
> However I was having no luck calling any function of the web service. I 
> would always receive the following error no matter what I tried:
> "... exception class ERemotableException with message 
> 'java.lang.NullPointerException"
> I found a post saying that if the 
> "InvRegistry.RegisterInvokeOptions(TypeInfo(Service),ioDocument);" 
> statement was commented out it would solve this issue. So I commented it 
> out and all the function calls worked until I hit the function call 
> passing the array parameters. Looks like Catch-22. Commenting out the line 
> to fix one issue caused a new issue.


> I just tried again with the ioDocument statement back in the 
> initialization and I am unable to get anything to work.
> Perhaps you know of a proper way to prevent the first NullPointerException 
> without having to comment out the 
> "InvRegistry.RegisterInvokeOptions(TypeInfo(Service),ioDocument);"?


Aha! Thanks for the info. This makes more sense. And if you tell the 
importer not to unwrap the wrapper elements, then it all becomes clear. Let 
me explain:

Run the importer with the -ou- [which tells it not to remove/unwrap the 
wrapper elements. Then the importer leaves things exactly as the WSDL/schema 
described them. The WSDL/schema for the orderDataToThirdParty operation says 
that it expects this (this is a Delphi representation of the XML type):

{code}
  orderDataToThirdParty = class(TRemotable)
    // I'm leaving out the private part as it's not relevant to the issue
  published
    property itemIds:         Array_Of_string  Index (IS_OPTN or IS_UNBD or 
IS_NLBL or IS_UNQL) read FitemIds write SetitemIds stored itemIds_Specified;
    property outputFileNames: Array_Of_string  Index (IS_OPTN or IS_UNBD or 
IS_NLBL or IS_UNQL) read FoutputFileNames write SetoutputFileNames stored 
outputFileNames_Specified;
    property emailAddresses:  string           Index (IS_OPTN or IS_UNQL) 
read FemailAddresses write SetemailAddresses stored 
emailAddresses_Specified;
    property priority:        Integer          Index (IS_OPTN or IS_UNQL) 
read Fpriority write Setpriority stored priority_Specified;
    property nodeId:          string           Index (IS_OPTN or IS_UNQL) 
read FnodeId write SetnodeId stored nodeId_Specified;
    property instructions:    string           Index (IS_OPTN or IS_UNQL) 
read Finstructions write Setinstructions stored instructions_Specified;
    property userName:        string           Index (IS_OPTN or IS_UNQL) 
read FuserName write SetuserName stored userName_Specified;
    property password:        string           Index (IS_OPTN or IS_UNQL) 
read Fpassword write Setpassword stored password_Specified;
  end;
{code}


The problem is that the importer by default will unwrap. Of course, that's 
nicer because it's much easier to use:

{code}
    function  orderDataToThirdParty(const itemIds: Array_Of_string;
                                                         const 
outputFileNames: Array_Of_string;
                                                         const 
emailAddresses: string; const priority: Integer;
                                                         const nodeId: 
string; const instructions: string;
                                                         const userName: 
string; const password: string): string; stdcall;
{code}

than having to deal [i.e. Create/Free] with the 'orderDataToThirdParty' 
class. However, there's a bit of information that's lost when we unwrap. It 
has to do with these funny IS_xxxx items you see on the index of each 
property shown in the wrapper class. For example:

{code}
    property itemIds:         Array_Of_string  Index (IS_OPTN or IS_UNBD or 
IS_NLBL or IS_UNQL)
{code}


IS_OPTN says that 'itemIds' is optional; IOW, the XML would be fine [i.e. 
valid, as per the schema] if it were missing. IS_UNBD says it's unbounded - 
which means it may occur more than once. For your particular situation it's 
IS_UNQL that matters. Is says "When encoding this element, it must not be in 
any namespace". IOW, it's unqualified. This information is lost when we 
unwrap the wrapper element. So the Delphi SOAP runtime basically treat 
parameter as a qualified parameter and puts it in the method's namespace. 
IOW, the Delphi runtime generates this:

{code}
    <orderDataToThirdParty xmlns="http://kelman.com">
      <itemIds>AAAA</itemIds>
      <itemIds>BBBB</itemIds>
      <itemIds>CCCC</itemIds>
      <outputFileNames>AAAA.ext</outputFileNames>
      <outputFileNames>BBBB.ext</outputFileNames>
      <outputFileNames>CCCC.ext</outputFileNames>
      <emailAddresses>johndoe@domain.com</emailAddresses>
{code}

when it should really be generating this instead, since the elements are 
unqualified:

{code}
    <NS1:orderDataToThirdParty xmlns:NS1="http://kelman.com">
      <itemIds>AAAA</itemIds>
      <itemIds>BBBB</itemIds>
      <itemIds>CCCC</itemIds>
      <outputFileNames>AAAA.ext</outputFileNames>
      <outputFileNames>BBBB.ext</outputFileNames>
      <outputFileNames>CCCC.ext</outputFileNames>
      <emailAddresses>johndoe@domain.com</emailAddresses>
{code}


So, why did removing 'soDocument' help? It's because this told the Delphi 
runtime that the Service wants SOAP-style encoding, not XML encoding. In 
that style of encoding it turns out namespace is left out: (this is an 
excerpt of what you posted)

{code}
       <NS1:orderDataToThirdParty>
         <item>186345-1</item>
         <item>186345-2</item>
         <item>186345-3</item>
         <item>186345-4</item>
{code}

Unfortunately, it also turns out that SOAP-style encoding requires that the 
"xsi:type" attribute be added. I suspect your Service is simply ignoring 
these attributes. However, SOAP-style encoding also requires that the 
elements of arrays use the 'item' element name. And that it's not ignoring.

And why does it get a NullPointerException? My guess is that the XML 
deserialization logic failed to read the contents of the XML nodes [because 
they were in the *wrong* namespace] but the code did not check for that: it 
basically used the return value without checking for Null.

So, what's the solution for all of this? Well, either the Delphi importer 
should not unwrap when it sees that something like IS_UNQL will be lost. 
Losing IS_OPTN is not that bad because it's not an option to leave out the 
parameter a function expects. And in case you wonder why losing the IS_UNBD 
did not cause problems it's because probably further down in the code 
generated by the importer there's a line of code that reads like this:

{code}
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_string), 
[xoInlineArrays]);
{code}

It tells the runtime "Whenever 'Array_Of_string' is used, remember that it's 
an inline array - i.e. unbounded'. Without this line, the runtime would 
treat Delphi arrays as pure collections.


Or, the better approach, is to still unwrap but to register the lost 
information. Something along the lines of:

{code}
  { Service.orderDataToThirdParty }
  InvRegistry.RegisterMethodInfo(TypeInfo(Service), 'orderDataToThirdParty', 
'',
                                 '[ReturnName="return"]', IS_OPTN or 
IS_UNQL);
{code}

That way the runtime can do the *right* thing when this method is called. I 
have this working for XE but I believe you are using 2010, right? It should 
be possible to move the runtime changes over to 2010. Then you would need 
the new importer [that registers all information lost when unwrapping] that 
I'm happy to post.

Of course, there's also the option of not unwrapping. The programming model 
is a little more involved but it offers more flexibility. For example, by 
not unwrapping, you can take advantage of IS_OPTN (i.e. Optional) elements: 
we won't send any properties/elements that you did not set and that's tagged 
IS_OPTN.

If time allows, please, let me know if my assessment is correct. IOW, try to 
import without unwrapping and see if the Service is happier with the XML 
sent. If yes, then let me know how you'd like to proceed.

Cheers,

Bruneau
0
Jean
9/21/2010 11:15:57 PM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> > The importer generated code does include the line of code: 
> > "InvRegistry.RegisterInvokeOptions(TypeInfo(Service),ioDocument);".
> > However I was having no luck calling any function of the web service. I 
> > would always receive the following error no matter what I tried:
> > "... exception class ERemotableException with message 
> > 'java.lang.NullPointerException"
> > I found a post saying that if the 
> > "InvRegistry.RegisterInvokeOptions(TypeInfo(Service),ioDocument);" 
> > statement was commented out it would solve this issue. So I commented it 
> > out and all the function calls worked until I hit the function call 
> > passing the array parameters. Looks like Catch-22. Commenting out the line 
> > to fix one issue caused a new issue.
> 
> 
> > I just tried again with the ioDocument statement back in the 
> > initialization and I am unable to get anything to work.
> > Perhaps you know of a proper way to prevent the first NullPointerException 
> > without having to comment out the 
> > "InvRegistry.RegisterInvokeOptions(TypeInfo(Service),ioDocument);"?
> 
> 
> Aha! Thanks for the info. This makes more sense. And if you tell the 
> importer not to unwrap the wrapper elements, then it all becomes clear. Let 
> me explain:
> 
> Run the importer with the -ou- [which tells it not to remove/unwrap the 
> wrapper elements. Then the importer leaves things exactly as the WSDL/schema 
> described them. The WSDL/schema for the orderDataToThirdParty operation says 
> that it expects this (this is a Delphi representation of the XML type):
> 
> {code}
>   orderDataToThirdParty = class(TRemotable)
>     // I'm leaving out the private part as it's not relevant to the issue
>   published
>     property itemIds:         Array_Of_string  Index (IS_OPTN or IS_UNBD or 
> IS_NLBL or IS_UNQL) read FitemIds write SetitemIds stored itemIds_Specified;
>     property outputFileNames: Array_Of_string  Index (IS_OPTN or IS_UNBD or 
> IS_NLBL or IS_UNQL) read FoutputFileNames write SetoutputFileNames stored 
> outputFileNames_Specified;
>     property emailAddresses:  string           Index (IS_OPTN or IS_UNQL) 
> read FemailAddresses write SetemailAddresses stored 
> emailAddresses_Specified;
>     property priority:        Integer          Index (IS_OPTN or IS_UNQL) 
> read Fpriority write Setpriority stored priority_Specified;
>     property nodeId:          string           Index (IS_OPTN or IS_UNQL) 
> read FnodeId write SetnodeId stored nodeId_Specified;
>     property instructions:    string           Index (IS_OPTN or IS_UNQL) 
> read Finstructions write Setinstructions stored instructions_Specified;
>     property userName:        string           Index (IS_OPTN or IS_UNQL) 
> read FuserName write SetuserName stored userName_Specified;
>     property password:        string           Index (IS_OPTN or IS_UNQL) 
> read Fpassword write Setpassword stored password_Specified;
>   end;
> {code}
> 
> 
> The problem is that the importer by default will unwrap. Of course, that's 
> nicer because it's much easier to use:
> 
> {code}
>     function  orderDataToThirdParty(const itemIds: Array_Of_string;
>                                                          const 
> outputFileNames: Array_Of_string;
>                                                          const 
> emailAddresses: string; const priority: Integer;
>                                                          const nodeId: 
> string; const instructions: string;
>                                                          const userName: 
> string; const password: string): string; stdcall;
> {code}
> 
> than having to deal [i.e. Create/Free] with the 'orderDataToThirdParty' 
> class. However, there's a bit of information that's lost when we unwrap. It 
> has to do with these funny IS_xxxx items you see on the index of each 
> property shown in the wrapper class. For example:
> 
> {code}
>     property itemIds:         Array_Of_string  Index (IS_OPTN or IS_UNBD or 
> IS_NLBL or IS_UNQL)
> {code}
> 
> 
> IS_OPTN says that 'itemIds' is optional; IOW, the XML would be fine [i.e. 
> valid, as per the schema] if it were missing. IS_UNBD says it's unbounded - 
> which means it may occur more than once. For your particular situation it's 
> IS_UNQL that matters. Is says "When encoding this element, it must not be in 
> any namespace". IOW, it's unqualified. This information is lost when we 
> unwrap the wrapper element. So the Delphi SOAP runtime basically treat 
> parameter as a qualified parameter and puts it in the method's namespace. 
> IOW, the Delphi runtime generates this:
> 
> {code}
>     <orderDataToThirdParty xmlns="http://kelman.com">
>       <itemIds>AAAA</itemIds>
>       <itemIds>BBBB</itemIds>
>       <itemIds>CCCC</itemIds>
>       <outputFileNames>AAAA.ext</outputFileNames>
>       <outputFileNames>BBBB.ext</outputFileNames>
>       <outputFileNames>CCCC.ext</outputFileNames>
>       <emailAddresses>johndoe@domain.com</emailAddresses>
> {code}
> 
> when it should really be generating this instead, since the elements are 
> unqualified:
> 
> {code}
>     <NS1:orderDataToThirdParty xmlns:NS1="http://kelman.com">
>       <itemIds>AAAA</itemIds>
>       <itemIds>BBBB</itemIds>
>       <itemIds>CCCC</itemIds>
>       <outputFileNames>AAAA.ext</outputFileNames>
>       <outputFileNames>BBBB.ext</outputFileNames>
>       <outputFileNames>CCCC.ext</outputFileNames>
>       <emailAddresses>johndoe@domain.com</emailAddresses>
> {code}
> 
> 
> So, why did removing 'soDocument' help? It's because this told the Delphi 
> runtime that the Service wants SOAP-style encoding, not XML encoding. In 
> that style of encoding it turns out namespace is left out: (this is an 
> excerpt of what you posted)
> 
> {code}
>        <NS1:orderDataToThirdParty>
>          <item>186345-1</item>
>          <item>186345-2</item>
>          <item>186345-3</item>
>          <item>186345-4</item>
> {code}
> 
> Unfortunately, it also turns out that SOAP-style encoding requires that the 
> "xsi:type" attribute be added. I suspect your Service is simply ignoring 
> these attributes. However, SOAP-style encoding also requires that the 
> elements of arrays use the 'item' element name. And that it's not ignoring.
> 
> And why does it get a NullPointerException? My guess is that the XML 
> deserialization logic failed to read the contents of the XML nodes [because 
> they were in the *wrong* namespace] but the code did not check for that: it 
> basically used the return value without checking for Null.
> 
> So, what's the solution for all of this? Well, either the Delphi importer 
> should not unwrap when it sees that something like IS_UNQL will be lost. 
> Losing IS_OPTN is not that bad because it's not an option to leave out the 
> parameter a function expects. And in case you wonder why losing the IS_UNBD 
> did not cause problems it's because probably further down in the code 
> generated by the importer there's a line of code that reads like this:
> 
> {code}
>   RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_string), 
> [xoInlineArrays]);
> {code}
> 
> It tells the runtime "Whenever 'Array_Of_string' is used, remember that it's 
> an inline array - i.e. unbounded'. Without this line, the runtime would 
> treat Delphi arrays as pure collections.
> 
> 
> Or, the better approach, is to still unwrap but to register the lost 
> information. Something along the lines of:
> 
> {code}
>   { Service.orderDataToThirdParty }
>   InvRegistry.RegisterMethodInfo(TypeInfo(Service), 'orderDataToThirdParty', 
> '',
>                                  '[ReturnName="return"]', IS_OPTN or 
> IS_UNQL);
> {code}
> 
> That way the runtime can do the *right* thing when this method is called. I 
> have this working for XE but I believe you are using 2010, right? It should 
> be possible to move the runtime changes over to 2010. Then you would need 
> the new importer [that registers all information lost when unwrapping] that 
> I'm happy to post.
> 
> Of course, there's also the option of not unwrapping. The programming model 
> is a little more involved but it offers more flexibility. For example, by 
> not unwrapping, you can take advantage of IS_OPTN (i.e. Optional) elements: 
> we won't send any properties/elements that you did not set and that's tagged 
> IS_OPTN.
> 
> If time allows, please, let me know if my assessment is correct. IOW, try to 
> import without unwrapping and see if the Service is happier with the XML 
> sent. If yes, then let me know how you'd like to proceed.
> 
> Cheers,
> 
> Bruneau

Hi Bruneau,
Thanks for the detailed explanation. 
This is just a quick response to let you know that I am Using Delphi XE not 2010.
I have read the full explanantion but I am going to have to read it again very carefully to fully understand, do some testing and decide how, with your guidance, how I should proceed.
Regards,
Hal
0
Hal
9/22/2010 4:37:21 PM
Hello,

> This is just a quick response to let you know that I am Using Delphi XE 
> not 2010.

Ah, I will try the RTM bits from XE. The person who worked on this area did 
enhance the registration so we keep track of certain things lost during 
unwrapping but not everything required was being saved. I'll double check if 
the shipping version handles your case.

Cheers,

Bruneau
0
Jean
9/22/2010 4:46:59 PM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> > This is just a quick response to let you know that I am Using Delphi XE 
> > not 2010.
> 
> Ah, I will try the RTM bits from XE. The person who worked on this area did 
> enhance the registration so we keep track of certain things lost during 
> unwrapping but not everything required was being saved. I'll double check if 
> the shipping version handles your case.
> 
> Cheers,
> 
> Bruneau

Hi Bruneau,
Haven't had a chance to try all your suggestions yet. Work keeps getting in the way of research...
Just want to keep this thread curretn and let you to know I haven't forgotten.
Regards,
Hal
0
Hal
9/27/2010 6:23:36 PM
Hello,

> Haven't had a chance to try all your suggestions yet. Work keeps getting 
> in the way of research...
> Just want to keep this thread curretn and let you to know I haven't 
> forgotten.

Thanks for the follow up post.

I've checked in a fix for the problem. When we unwrap and the elements that 
are now parameters were unqualified, the importer will store away that 
information in a call to 'RegisterParamInfo', as in:


{code}
  { ServicePort38Binding.orderData }
  InvRegistry.RegisterMethodInfo(TypeInfo(ServicePort38Binding), 
'orderData', '',
                                 '[ReturnName="return"]', IS_OPTN or 
IS_UNQL);
  InvRegistry.RegisterParamInfo(TypeInfo(ServicePort38Binding), 'orderData', 
'itemId', '',
                                '', IS_UNQL);
  InvRegistry.RegisterParamInfo(TypeInfo(ServicePort38Binding), 'orderData', 
'outputFileName', '',
                                '', IS_UNQL);
{code}


The runtime looks for the IS_UNQL flag on a parameter and generates the 
element in no namespace, as in:


{code}
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Body>
    <orderDataToThirdParty xmlns="urn:test_wrapper_with_unqual_elem">
      <itemIds xmlns="">itemid0</itemIds>
      <itemIds xmlns="">itemid1</itemIds>
      <itemIds xmlns="">itemid2</itemIds>
      <outputFileNames xmlns="">Filename0</outputFileNames>
      <outputFileNames xmlns="">Filename1</outputFileNames>
      <outputFileNames xmlns="">Filename2</outputFileNames>
      <emailAddresses xmlns="">emailAddresses</emailAddresses>
      <priority xmlns="">-1</priority>
      <nodeId xmlns="">nodeid</nodeId>
      <instructions xmlns="">instructions</instructions>
      <userName xmlns="">userName</userName>
      <password xmlns="">password</password>
    </orderDataToThirdParty>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
{code}


The output above is actually from a test Service that I've created here that 
mimics yours [I've changed the namespace to better reflect what the Service 
is for]. My implemntation of the Service returns everything it received in 
one long string, as in:

{code}
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <orderDataToThirdPartyResponse 
xmlns="urn:test_wrapper_with_unqual_elem">
      <return xmlns="">[itemIds=`itemid0`, itemIds=`itemid1`, 
itemIds=`itemid2`, outputFileNames=`Filename0`, outputFileNames=`Filename1`, 
outputFileNames=`Filename2`, emailAddress=`emailAddresses`, priority=`-1`, 
nodeId=`nodeid`, instructions=`instructions`, userName=`userName`, 
password=`password`]</return>
    </orderDataToThirdPartyResponse>
  </soap:Body>
</soap:Envelope>
{code}

And I've also checked in a Unit test

{code}
procedure TTestHandler.orderData(RIO: THTTPRIO);
var
  itemIDs: Array_Of_string;
  outputFileNames: Array_Of_string;
  response: string;
begin
  SetLength(itemIDs, 3);
  itemIDs[0] := 'itemid0';
  itemIDs[1] := 'itemid1';
  itemIDs[2] := 'itemid2';
  SetLength(outputFileNames, 3);
  outputFileNames[0] := 'Filename0';
  outputFileNames[1] := 'Filename1';
  outputFileNames[2] := 'Filename2';
  response := GetService(RIO).orderDataToThirdParty(itemIDs, 
outputFileNames,
                             'emailAddresses', -1, 'nodeid', 'instructions',
                             'userName', 'password');
  raiseExceptionIf(response <> '[itemIds=`itemid0`, itemIds=`itemid1`, '+
                                'itemIds=`itemid2`, 
outputFileNames=`Filename0`, '+
                                'outputFileNames=`Filename1`, 
outputFileNames=`Filename2`, '+
                                'emailAddress=`emailAddresses`, 
priority=`-1`, '+
                                'nodeId=`nodeid`, 
instructions=`instructions`, '+
                                'userName=`userName`, password=`password`]', 
'Not expected response!');
end;
{code}


All of the above is checked in and, once it's been reviewed, I'd be happy to 
make it available.

Cheers,

Bruneau
0
Jean
9/27/2010 7:04:30 PM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> > Haven't had a chance to try all your suggestions yet. Work keeps getting 
> > in the way of research...
> > Just want to keep this thread curretn and let you to know I haven't 
> > forgotten.
> 
> Thanks for the follow up post.
> 
> I've checked in a fix for the problem. When we unwrap and the elements that 
> are now parameters were unqualified, the importer will store away that 
> information in a call to 'RegisterParamInfo', as in:
> 
> 
> {code}
>   { ServicePort38Binding.orderData }
>   InvRegistry.RegisterMethodInfo(TypeInfo(ServicePort38Binding), 
> 'orderData', '',
>                                  '[ReturnName="return"]', IS_OPTN or 
> IS_UNQL);
>   InvRegistry.RegisterParamInfo(TypeInfo(ServicePort38Binding), 'orderData', 
> 'itemId', '',
>                                 '', IS_UNQL);
>   InvRegistry.RegisterParamInfo(TypeInfo(ServicePort38Binding), 'orderData', 
> 'outputFileName', '',
>                                 '', IS_UNQL);
> {code}
> 
> 
> The runtime looks for the IS_UNQL flag on a parameter and generates the 
> element in no namespace, as in:
> 
> 
> {code}
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>   <SOAP-ENV:Body>
>     <orderDataToThirdParty xmlns="urn:test_wrapper_with_unqual_elem">
>       <itemIds xmlns="">itemid0</itemIds>
>       <itemIds xmlns="">itemid1</itemIds>
>       <itemIds xmlns="">itemid2</itemIds>
>       <outputFileNames xmlns="">Filename0</outputFileNames>
>       <outputFileNames xmlns="">Filename1</outputFileNames>
>       <outputFileNames xmlns="">Filename2</outputFileNames>
>       <emailAddresses xmlns="">emailAddresses</emailAddresses>
>       <priority xmlns="">-1</priority>
>       <nodeId xmlns="">nodeid</nodeId>
>       <instructions xmlns="">instructions</instructions>
>       <userName xmlns="">userName</userName>
>       <password xmlns="">password</password>
>     </orderDataToThirdParty>
>   </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> {code}
> 
> 
> The output above is actually from a test Service that I've created here that 
> mimics yours [I've changed the namespace to better reflect what the Service 
> is for]. My implemntation of the Service returns everything it received in 
> one long string, as in:
> 
> {code}
> <?xml version="1.0"?>
> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>   <soap:Body>
>     <orderDataToThirdPartyResponse 
> xmlns="urn:test_wrapper_with_unqual_elem">
>       <return xmlns="">[itemIds=`itemid0`, itemIds=`itemid1`, 
> itemIds=`itemid2`, outputFileNames=`Filename0`, outputFileNames=`Filename1`, 
> outputFileNames=`Filename2`, emailAddress=`emailAddresses`, priority=`-1`, 
> nodeId=`nodeid`, instructions=`instructions`, userName=`userName`, 
> password=`password`]</return>
>     </orderDataToThirdPartyResponse>
>   </soap:Body>
> </soap:Envelope>
> {code}
> 
> And I've also checked in a Unit test
> 
> {code}
> procedure TTestHandler.orderData(RIO: THTTPRIO);
> var
>   itemIDs: Array_Of_string;
>   outputFileNames: Array_Of_string;
>   response: string;
> begin
>   SetLength(itemIDs, 3);
>   itemIDs[0] := 'itemid0';
>   itemIDs[1] := 'itemid1';
>   itemIDs[2] := 'itemid2';
>   SetLength(outputFileNames, 3);
>   outputFileNames[0] := 'Filename0';
>   outputFileNames[1] := 'Filename1';
>   outputFileNames[2] := 'Filename2';
>   response := GetService(RIO).orderDataToThirdParty(itemIDs, 
> outputFileNames,
>                              'emailAddresses', -1, 'nodeid', 'instructions',
>                              'userName', 'password');
>   raiseExceptionIf(response <> '[itemIds=`itemid0`, itemIds=`itemid1`, '+
>                                 'itemIds=`itemid2`, 
> outputFileNames=`Filename0`, '+
>                                 'outputFileNames=`Filename1`, 
> outputFileNames=`Filename2`, '+
>                                 'emailAddress=`emailAddresses`, 
> priority=`-1`, '+
>                                 'nodeId=`nodeid`, 
> instructions=`instructions`, '+
>                                 'userName=`userName`, password=`password`]', 
> 'Not expected response!');
> end;
> {code}
> 
> 
> All of the above is checked in and, once it's been reviewed, I'd be happy to 
> make it available.
> 
> Cheers,
> 
> Bruneau

Bruneau, I have beeing out for some days, now I will read al the sugestions and try it, but on the other hand I have resolve the problem making a dll in Delphi Prism and colling it from delphi.
Thanks

Adrian
0
Adrian
9/29/2010 11:25:46 AM
Hello Adrian,

> Bruneau, I have beeing out for some days, now I will read al the 
> sugestions and try it, but on the other hand I have resolve the problem 
> making a dll in Delphi Prism and colling it from delphi.


Yes, using the .NET stack, if that's option, is often the fastest path: 
there's way more interop effort between .NET, WCF and Java services. It's 
only recently that Delphi is implementing some of the features required to 
interop with the latest versions of these services.

If there's anything I can do to help with using native Delphi, let me know.

Cheers,

Bruneau
0
Jean
9/29/2010 4:02:48 PM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> > Haven't had a chance to try all your suggestions yet. Work keeps getting 
> > in the way of research...
> > Just want to keep this thread curretn and let you to know I haven't 
> > forgotten.
> 
> Thanks for the follow up post.
> 
> I've checked in a fix for the problem. When we unwrap and the elements that 
> are now parameters were unqualified, the importer will store away that 
> information in a call to 'RegisterParamInfo', as in:
> 
> 
> {code}
>   { ServicePort38Binding.orderData }
>   InvRegistry.RegisterMethodInfo(TypeInfo(ServicePort38Binding), 
> 'orderData', '',
>                                  '[ReturnName="return"]', IS_OPTN or 
> IS_UNQL);
>   InvRegistry.RegisterParamInfo(TypeInfo(ServicePort38Binding), 'orderData', 
> 'itemId', '',
>                                 '', IS_UNQL);
>   InvRegistry.RegisterParamInfo(TypeInfo(ServicePort38Binding), 'orderData', 
> 'outputFileName', '',
>                                 '', IS_UNQL);
> {code}
> 
> 
> The runtime looks for the IS_UNQL flag on a parameter and generates the 
> element in no namespace, as in:
> 
> 
> {code}
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>   <SOAP-ENV:Body>
>     <orderDataToThirdParty xmlns="urn:test_wrapper_with_unqual_elem">
>       <itemIds xmlns="">itemid0</itemIds>
>       <itemIds xmlns="">itemid1</itemIds>
>       <itemIds xmlns="">itemid2</itemIds>
>       <outputFileNames xmlns="">Filename0</outputFileNames>
>       <outputFileNames xmlns="">Filename1</outputFileNames>
>       <outputFileNames xmlns="">Filename2</outputFileNames>
>       <emailAddresses xmlns="">emailAddresses</emailAddresses>
>       <priority xmlns="">-1</priority>
>       <nodeId xmlns="">nodeid</nodeId>
>       <instructions xmlns="">instructions</instructions>
>       <userName xmlns="">userName</userName>
>       <password xmlns="">password</password>
>     </orderDataToThirdParty>
>   </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> {code}
> 
> 
> The output above is actually from a test Service that I've created here that 
> mimics yours [I've changed the namespace to better reflect what the Service 
> is for]. My implemntation of the Service returns everything it received in 
> one long string, as in:
> 
> {code}
> <?xml version="1.0"?>
> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>   <soap:Body>
>     <orderDataToThirdPartyResponse 
> xmlns="urn:test_wrapper_with_unqual_elem">
>       <return xmlns="">[itemIds=`itemid0`, itemIds=`itemid1`, 
> itemIds=`itemid2`, outputFileNames=`Filename0`, outputFileNames=`Filename1`, 
> outputFileNames=`Filename2`, emailAddress=`emailAddresses`, priority=`-1`, 
> nodeId=`nodeid`, instructions=`instructions`, userName=`userName`, 
> password=`password`]</return>
>     </orderDataToThirdPartyResponse>
>   </soap:Body>
> </soap:Envelope>
> {code}
> 
> And I've also checked in a Unit test
> 
> {code}
> procedure TTestHandler.orderData(RIO: THTTPRIO);
> var
>   itemIDs: Array_Of_string;
>   outputFileNames: Array_Of_string;
>   response: string;
> begin
>   SetLength(itemIDs, 3);
>   itemIDs[0] := 'itemid0';
>   itemIDs[1] := 'itemid1';
>   itemIDs[2] := 'itemid2';
>   SetLength(outputFileNames, 3);
>   outputFileNames[0] := 'Filename0';
>   outputFileNames[1] := 'Filename1';
>   outputFileNames[2] := 'Filename2';
>   response := GetService(RIO).orderDataToThirdParty(itemIDs, 
> outputFileNames,
>                              'emailAddresses', -1, 'nodeid', 'instructions',
>                              'userName', 'password');
>   raiseExceptionIf(response <> '[itemIds=`itemid0`, itemIds=`itemid1`, '+
>                                 'itemIds=`itemid2`, 
> outputFileNames=`Filename0`, '+
>                                 'outputFileNames=`Filename1`, 
> outputFileNames=`Filename2`, '+
>                                 'emailAddress=`emailAddresses`, 
> priority=`-1`, '+
>                                 'nodeId=`nodeid`, 
> instructions=`instructions`, '+
>                                 'userName=`userName`, password=`password`]', 
> 'Not expected response!');
> end;
> {code}
> 
> 
> All of the above is checked in and, once it's been reviewed, I'd be happy to 
> make it available.
> 
> Cheers,
> 
> Bruneau

Hi Bruneau,
I have time this week to get back on this. If you can provide me with the appropriate updates for Delphi XE I will install the patch and give it a try.
Regards,
Hal
0
Hal
10/4/2010 2:30:19 PM
Hello,


> I have time this week to get back on this. If you can provide me with the 
> appropriate updates for Delphi XE I will install the patch and give it a 
> try.

I will post you an updated importer and runtime later today.

Cheers,

Bruneau
0
Jean
10/4/2010 5:06:40 PM
Hello,

I've posted a new WSDL Importer (command line: WSDLImp.exe) and runtime 
updates to the 'public.attachments' section. When time allows, please, 
reimport your service with the new importer and link with the updated 
runtime [make sure the updated runtime is in the unit search path before the 
shipping bits; or add the files to your project].

Please, let me know if you run into problems. These changes have been 
checked in but have not been verified by QA (the unit tests passed).

Cheers,

Bruneau
0
Jean
10/6/2010 1:45:23 AM
> 
https://forums.embarcadero.com/thread.jspa?messageID=289458&tstart=0#289458
0
Jean
10/6/2010 1:45:55 AM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> > 
> https://forums.embarcadero.com/thread.jspa?messageID=289458&tstart=0#289458

Hi guys,

I am facing the same issue and I would like to jump in too.

We downloaded the soap updates and it finally works whith the following setting:
- WebServices written in Java, using document style, JAX-WS, deployed in JBoss AS 4.2.3
- Client written in Delphi 2010, new soap update and new WSDLImp.exe
- Unwind literal params OFF

However, turning off unwind literal params in our case is not a good choice. We already have the client up and running using Delphi 7 and WS/RPC style, so if we need to use Unwind literal params OFF we have to refactor the entire client (+ 300 methods calls)! 

Edit: other interest thing is that using RPC style in Delphi 2010 doesn´t work in our case.

Is there any chance that in near future we could use Unwind literal params ON ?

Thanks a lot

Edited by: João Bosco Monteiro on Oct 15, 2010 3:14 PM
0
Utf
10/15/2010 10:14:24 PM
Hello João,

You should not have to turn off unwrapping manually. If the service does not 
follow the wrapped convention then the importer itself will refuse. But if 
you have a case where the convention is followed by unwrapping fails then 
I'd like to get more information. Any information would help. If you get me 
the WSDL/Schema, that's the best. If not then I'll take the Delphi generated 
bindings with the wrappers and without the wrappers. If you can tell me 
which operation failed, then I can call the operations using the two 
bindings and compare the requests.

Ideally, I'd like the WSDL/Schema and even a sample response packet for the 
operation(s) that failed (if the issue is a problem with us deserializing 
the response).

Feel free to email me this information directly (bbabet at embarcadero dot 
com) if you'd rather not post here.

Cheers,

Bruneau
0
Jean
10/16/2010 1:51:02 AM
Hello,

I sent to you the information requested. One file contains the envelope sent to server, I also use this file to make a request to WS using SoapUI, the response obtained by SoapUI is in the other file. The last one is the WSDL

Thanks

> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello João,
> 
> You should not have to turn off unwrapping manually. If the service does not 
> follow the wrapped convention then the importer itself will refuse. But if 
> you have a case where the convention is followed by unwrapping fails then 
> I'd like to get more information. Any information would help. If you get me 
> the WSDL/Schema, that's the best. If not then I'll take the Delphi generated 
> bindings with the wrappers and without the wrappers. If you can tell me 
> which operation failed, then I can call the operations using the two 
> bindings and compare the requests.
> 
> Ideally, I'd like the WSDL/Schema and even a sample response packet for the 
> operation(s) that failed (if the issue is a problem with us deserializing 
> the response).
> 
> Feel free to email me this information directly (bbabet at embarcadero dot 
> com) if you'd rather not post here.
> 
> Cheers,
> 
> Bruneau
0
Utf
10/18/2010 5:03:08 PM
Hello,

Yes, thank you for the files. And I do see the issue: the service is an 
rpc|literal service. Delphi SOAP does very well with rpc|encoded and fairly 
well with document|literal (the issue here is that some XML constructs are 
not well supported). However, rpc|literal is not well handled.

Recently I added some support to better handle rpc|literal for an upcoming 
XE update and constructed a few rpc|literal services in-house for testing 
purposes. I believe there's a QC on lacking rpc|literal support 
(http://qc.embarcadero.com/wc/qcmain.aspx?d=37366).

So I'm going to try the WSDL you sent to confirm that the packets generated 
are correct.

More later!

Cheers,

Bruneau
0
Jean
10/18/2010 6:10:55 PM
Hi Bruneau,

Thanks again for your help.

Now I am a little bit confused because in both wsdl that I sent there is the following info:

<soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/>

but you said that 
> the service is an 
> rpc|literal service.

My service has an Java Annotation that marks it as SoapBinding.DOCUMENT.

I will wait for your tests and some advise.

Regards,

> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> Yes, thank you for the files. And I do see the issue: the service is an 
> rpc|literal service. Delphi SOAP does very well with rpc|encoded and fairly 
> well with document|literal (the issue here is that some XML constructs are 
> not well supported). However, rpc|literal is not well handled.
> 
> Recently I added some support to better handle rpc|literal for an upcoming 
> XE update and constructed a few rpc|literal services in-house for testing 
> purposes. I believe there's a QC on lacking rpc|literal support 
> (http://qc.embarcadero.com/wc/qcmain.aspx?d=37366).
> 
> So I'm going to try the WSDL you sent to confirm that the packets generated 
> are correct.
> 
> More later!
> 
> Cheers,
> 
> Bruneau
0
Utf
10/19/2010 2:13:04 AM
Hello all, 

I'm having a similar problem here. Namely, we are using an IBM WebSphere server, and the services are JAX-WS. We're using RAD Studio XE Professional, Delphi XE.
I've downloaded soap.zip and the new wsdlimp.exe. I put the files in sopa.zip over the distribution files, is that ok?

I am really new to this subject and therefore a lot of questions arises. I tried to follow the suggestions in earlier posts within this thread, but unfortunatelly none worked.

I've generated pascal source with wsdlimp -Ou- service.wsdl.

Wsdl and pas file are at the end of this message. HTTPRIO settings:
Converter.Options:  soSendMultiRefObj, soTryAllSchema, soReturnSuccessForFault, soCacheMimeResponse, soUTF8EncodeXML, soXXXHdr

HTTPWebNode.InvokeOptions:
soIgnoreInvalidCerts, soAutoCheckAccessPointViaUDDI

UseUTF8InHeader - True.



Here's the code I call on a click of a button:

procedure TfAnketiranci.aPosljiExecute(Sender: TObject);
var
  aData : getAnketiranecResponse;
  aSend : sendAnketiranec;
  xx : Integer;
  yy : Integer;
begin
  aData := NIL;
  yy := 0;
  while not DM.qCLA.EOF do
  begin
    inc(yy);
    SetLength(aData, yy);
    xx := yy - 1;
    aData[xx] := AnketiranecRow.Create;

    aData[xx].id := DM.qCLAID.AsInteger;
    aData[xx].stevilka := DM.qCLASTEVILKA.AsWideString;
    aData[xx].ime := DM.qCLAIME.AsWideString;
    aData[xx].priimek := DM.qCLAPRIIMEK.AsWideString;
    aData[xx].emso := DM.qCLAEMSO.AsWideString;
    aData[xx].davcna := DM.qCLADAVCNA.AsWideString;
    aData[xx].dob := FormatDateTime('dd/mm/yyyyy hh:nn:ss', DM.qCLADOB.AsDateTime);
    aData[xx].ulica := DM.qCLAULICA.AsWideString;
    aData[xx].zip := DM.qCLAZIP.AsWideString;
    aData[xx].kraj := DM.qCLAKRAJ.AsWideString;
    aData[xx].aktiven := (DM.qCLAAKTIVEN.AsInteger = 1);
    aData[xx].spol := DM.qCLASPOL.AsWideString;
    aData[xx].dod := FormatDateTime('dd/mm/yyyy hh:nn:ss', dm.qCLADOD.AsDateTime);
    aData[xx].telefon := DM.qCLATELEFON.AsWideString;
    aData[xx].letnik := DM.qCLALETNIK.AsInteger;
    aData[xx].lastupdate := FormatDateTime('dd/mm/yyyy hh:nn:ss', now);

    DM.qCLA.Next;
  end;
  DM.qCLA.First;

  aSend := sendAnketiranec.Create;
  aSend.dataItem := aData;
  aSend.clientId := DM.qDRUBOPRO_ID.AsWideString;

  GetService(False, '', HTTPRIO1).sendAnketiranec(aSend);
  aData := NIL;
  aSend := NIL;

  Application.ProcessMessages;
end;


Problems:

1. After generating code, an error stating that the '[' character is not allowed to be used within a field name? I later found out it was within the lines in pas file:
  RemClassRegistry.RegisterExternalPropName(TypeInfo(sendAnketiranec), 'dataItem', '[ArrayItemName="dataItem"]');

2. After modifying those lines by replacing it with 'dataItem', it sort of worked. I got the XML, but this wasn't right for our service. 

Again, I am a complete greenhorn on the field of web services ... but I guess it's just a matter of settings and so.

Could You please help me?


WSDL:
-------------------------------
<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions name="Service" targetNamespace="http://www.a-soft.si/BoproSOAP/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.a-soft.si/BoproSOAP/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <wsdl:types>
    <xsd:schema targetNamespace="http://www.a-soft.si/BoproSOAP/">
      <xsd:element name="getUporabnik">
        <xsd:complexType>
          <xsd:sequence maxOccurs="1" minOccurs="1">
          	<xsd:element name="localTimestamp" type="xsd:string" />
          	<xsd:element name="clientId" type="xsd:string"></xsd:element>

          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="getUporabnikResponse">
        <xsd:complexType>
                    <xsd:sequence maxOccurs="1" minOccurs="1">
                    	<xsd:element name="dataItem"
                    		type="tns:uporabnikRow" maxOccurs="unbounded"
                    		minOccurs="0" />

                    </xsd:sequence>
                    
        </xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="uporabnikRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="ime" type="xsd:string"></xsd:element>
      		<xsd:element name="priimek" type="xsd:string"></xsd:element>
      		<xsd:element name="userid" type="xsd:string"></xsd:element>
      		<xsd:element name="hash" type="xsd:string"></xsd:element>
      		<xsd:element name="avtorizacija" type="xsd:int"></xsd:element>

      		<xsd:element name="telefon" type="xsd:string"></xsd:element>
      		<xsd:element name="ulica" type="xsd:string"></xsd:element>
      		<xsd:element name="zip" type="xsd:string"></xsd:element>
      		<xsd:element name="kraj" type="xsd:string"></xsd:element>
      		<xsd:element name="obmocje" type="xsd:string"></xsd:element>
      		<xsd:element name="aktiven" type="xsd:boolean"></xsd:element>
                    <xsd:element name="lastupdate" type="xsd:string"></xsd:element>
                </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getUporabnik_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getUporabnik_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendUporabnik">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:uporabnikRow" maxOccurs="unbounded" minOccurs="1"></xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendUporabnikResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendUporabnik_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendUporabnik_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getPosta">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>

      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getPostaResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="unbounded" minOccurs="0">

      			<xsd:element name="dataItem" type="tns:postaRow"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="postaRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
                    <xsd:element name="id" type="xsd:int"></xsd:element>
                    <xsd:element name="zip" type="xsd:string"></xsd:element>
      		<xsd:element name="kraj" type="xsd:string"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>

      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getPosta_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getPosta_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPosta">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="data" type="tns:postaRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPostaResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="suceeded" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getDrustvo">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp" type="xsd:string"></xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getDrustvoResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:drustvoRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="drustvoRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="naziv" type="xsd:string"></xsd:element>
      		<xsd:element name="ulica" type="xsd:string"></xsd:element>
      		<xsd:element name="kraj" type="xsd:string"></xsd:element>
      		<xsd:element name="bopro_id" type="xsd:string"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      		<xsd:element name="zip" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getDrustvo_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getDrustvo_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getOdgovor">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getOdgovorResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:odgovorRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getOdgovor_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getOdgovor_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="odgovorRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="naziv" type="xsd:string"></xsd:element>
      		<xsd:element name="tip" type="xsd:int"></xsd:element>
      		<xsd:element name="value_float" type="xsd:double"></xsd:element>
      		<xsd:element name="value_text" type="xsd:string"></xsd:element>
      		<xsd:element name="value_datum" type="xsd:string"></xsd:element>
      		<xsd:element name="value_ura" type="xsd:string"></xsd:element>
      		<xsd:element name="value_bool" type="xsd:boolean"></xsd:element>
      		<xsd:element name="dodaten_opis" type="xsd:boolean"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="sendOdgovor">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="in" type="tns:odgovorRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendOdgovorResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="result" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getVprasanje">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getVprasanjeResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:vprasanjeRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getVprasanje_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getVprasanje_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="vprasanjeRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="naziv" type="xsd:string"></xsd:element>
      		<xsd:element name="navodilo" type="xsd:string"></xsd:element>
      		<xsd:element name="opomba" type="xsd:string"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="sendVprasanje">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="in" type="tns:vprasanjeRow"
      				maxOccurs="unbounded" minOccurs="0">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendVprasanjeResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="out" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getPoglavje">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getPoglavjeResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:poglavjeRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getPoglavje_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getPoglavje_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="poglavjeRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="naziv" type="xsd:string"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getAnketa">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getAnketaResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="dataItem" type="tns:anketaRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="anketaRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="naziv" type="xsd:string"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getAnketa_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getAnketa_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getAnkPogl">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getAnkPoglResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:ankPoglRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="ankPoglRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="zap_stev" type="xsd:int"></xsd:element>
      		<xsd:element name="id_anketa" type="xsd:int"></xsd:element>
      		<xsd:element name="id_poglavje" type="xsd:int"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getAnkPogl_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getAnkPogl_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendAnkPogl">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="in" type="tns:ankPoglRow"
      				maxOccurs="unbounded" minOccurs="0">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendAnkPoglResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getPoglVpras">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getPoglVprasResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="dataItem" type="tns:poglVprasRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="poglVprasRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="zap_stev" type="xsd:int"></xsd:element>
      		<xsd:element name="odg_obvezen" type="xsd:boolean"></xsd:element>
      		<xsd:element name="id_ank_pog" type="xsd:int"></xsd:element>
      		<xsd:element name="id_vprasanje" type="xsd:int"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getPoglVpras_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getPoglVpras_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPoglVpras">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="in" type="tns:poglVprasRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPoglVprasResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getVprasOdg">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getVprasOdgResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:vprasOdgRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="vprasOdgRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="id_pogl_vpras" type="xsd:int"></xsd:element>
      		<xsd:element name="zap_stev" type="xsd:int"></xsd:element>
      		<xsd:element name="id_odgovor" type="xsd:int"></xsd:element>
      		<xsd:element name="ponder" type="xsd:int"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getVprasOdg_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getVprasOdg_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendVprasOdg">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="in" type="tns:vprasOdgRow"
      				maxOccurs="unbounded" minOccurs="0">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendVprasOdgResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getAnketiranec">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getAnketiranecResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:anketiranecRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="anketiranecRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>

      		<xsd:element name="stevilka" type="xsd:string"></xsd:element>
      		<xsd:element name="ime" type="xsd:string"></xsd:element>
      		<xsd:element name="priimek" type="xsd:string"></xsd:element>
      		<xsd:element name="emso" type="xsd:string"></xsd:element>
      		<xsd:element name="davcna" type="xsd:string"></xsd:element>
      		<xsd:element name="dob" type="xsd:string"></xsd:element>
      		<xsd:element name="ulica" type="xsd:string"></xsd:element>
      		<xsd:element name="zip" type="xsd:string"></xsd:element>
      		<xsd:element name="kraj" type="xsd:string"></xsd:element>
      		<xsd:element name="aktiven" type="xsd:boolean"></xsd:element>
      		<xsd:element name="spol" type="xsd:string"></xsd:element>
      		<xsd:element name="dod" type="xsd:string"></xsd:element>
      		<xsd:element name="telefon" type="xsd:string"></xsd:element>


                    <xsd:element name="letnik" type="xsd:int"></xsd:element>
                    <xsd:element name="lastupdate" type="xsd:string"></xsd:element>


      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getAnketiranec_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getAnketiranec_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendAnketiranec">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:anketiranecRow"
      				maxOccurs="unbounded" minOccurs="1">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendAnketiranecResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="izpAnketaRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="id_anketa" type="xsd:int"></xsd:element>
      		<xsd:element name="id_anketiranec" type="xsd:int"></xsd:element>
      		<xsd:element name="id_uporabnik" type="xsd:int"></xsd:element>
      		<xsd:element name="datum_vnosa" type="xsd:string"></xsd:element>
      		<xsd:element name="datum_obiska" type="xsd:string"></xsd:element>


                    <xsd:element name="lastupdate" type="xsd:string"></xsd:element>

                    <xsd:element name="izpOdgovori" type="tns:izpOdgovorRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
                </xsd:sequence>
      </xsd:complexType>    
      <xsd:complexType name="izpOdgovorRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
                    <xsd:element name="ponder" type="xsd:int"></xsd:element>
                    <xsd:element name="value_float" type="xsd:double"></xsd:element>
                    <xsd:element name="value_text" type="xsd:string"></xsd:element>
                    <xsd:element name="value_datum" type="xsd:string"></xsd:element>
                    <xsd:element name="value_ura" type="xsd:string"></xsd:element>
                    <xsd:element name="value_bool" type="xsd:boolean"></xsd:element>
                    <xsd:element name="dodaten_opis" type="xsd:string"></xsd:element>
                    <xsd:element name="id_izp_anketa" type="xsd:int"></xsd:element>
      		<xsd:element name="id_poglavje" type="xsd:int"></xsd:element>
      		<xsd:element name="id_vprasanje" type="xsd:int"></xsd:element>
      		<xsd:element name="id_odgovor" type="xsd:int"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>   
      <xsd:complexType name="obiskRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="datum_obiska" type="xsd:string"></xsd:element>
      		<xsd:element name="obisk_potreba" type="xsd:string"></xsd:element>
      		<xsd:element name="ponovni_obisk" type="xsd:int"></xsd:element>
      		<xsd:element name="ponovni_datum" type="xsd:string"></xsd:element>
      		<xsd:element name="opomba" type="xsd:string"></xsd:element>
      		<xsd:element name="id_anketiranec" type="xsd:int"></xsd:element>
      		<xsd:element name="id_uporabnik" type="xsd:int"></xsd:element>
      		<xsd:element name="id_namen" type="xsd:int"></xsd:element>
      		<xsd:element name="id_rezultat" type="xsd:int"></xsd:element>
      		<xsd:element name="id_anketa" type="xsd:int"></xsd:element>


      		<xsd:element name="id_pred_obisk" type="xsd:int"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>

      	</xsd:sequence>
      </xsd:complexType>
      
      <xsd:element name="getRezultat">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getRezultatResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:rezultatRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="rezultatRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="naziv" type="xsd:string"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getRezultat_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getRezultat_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendRezultat">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:rezultatRow"
      				maxOccurs="unbounded" minOccurs="0">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendRezultatResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>

      <xsd:element name="getPomoc">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getPomocResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:pomocRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="pomocRow">
      	<xsd:sequence maxOccurs="1" minOccurs="1">
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="naziv" type="xsd:string"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getPomoc_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getPomoc_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPomocOrgaizacije">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="data"
      				type="tns:pomocRow" maxOccurs="unbounded"
      				minOccurs="0">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPomocOrgaizacijeResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPoglavje">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:poglavjeRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPoglavjeResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="out" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendDrustvo">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:drustvoRow"
      				maxOccurs="unbounded" minOccurs="0">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendDrustvoResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendIzpAnketa">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:izpAnketaRow" maxOccurs="unbounded" minOccurs="1"></xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendIzpAnketaResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>


      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPoglavje_fault1">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendPoglavje_fault1"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendIzpAnketa_fault1">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendIzpAnketa_fault1"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendIzpAnketa_fault11">
      	<xsd:complexType>
      		<xsd:sequence>

      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPoglavje_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendPoglavje_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendIzpAnketa_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendIzpAnketa_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendRezultat_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendRezultat_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getIzpAnketa">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

                        <xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>

      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="NewOperationResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="out" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendAnketiranec_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendAnketiranec_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendVprasOdg_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendVprasOdg_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPoglVpras_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendPoglVpras_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendAnkPogl_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendAnkPogl_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendVprasanje_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendVprasanje_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendOdgovor_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendOdgovor_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendPosta_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendPosta_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendDrustvo_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendDrustvo_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getIzpAnketaResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="dataItem" type="tns:izpAnketaRow" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getIzpAnketa_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getIzpAnketa_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>


      <xsd:complexType name="namenRow">
      	<xsd:sequence>
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="naziv" type="xsd:string"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
    
      <xsd:complexType name="obiskPomocRow">
      	<xsd:sequence>
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="opis" type="xsd:string"></xsd:element>
      		<xsd:element name="opomba" type="xsd:string"></xsd:element>
      		<xsd:element name="datum_predviden" type="xsd:string"></xsd:element>
      		<xsd:element name="prisla" type="xsd:boolean"></xsd:element>
      		<xsd:element name="zadovoljiva" type="xsd:boolean"></xsd:element>
      		<xsd:element name="id_obisk" type="xsd:int"></xsd:element>
      		<xsd:element name="id_pomoc" type="xsd:int"></xsd:element>
      		<xsd:element name="id_organizacija" type="xsd:int"></xsd:element>
                    <xsd:element name="lastupdate" type="xsd:string"></xsd:element>


      	</xsd:sequence>
      </xsd:complexType>
    
      <xsd:complexType name="organizacijaRow">
      	<xsd:sequence>
      		<xsd:element name="id" type="xsd:int"></xsd:element>
      		<xsd:element name="naziv" type="xsd:string"></xsd:element>
      		<xsd:element name="lastupdate" type="xsd:string"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getOrganizacija">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getOrganizacijaResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="unbounded" minOccurs="0">

      			<xsd:element name="dataItem" type="tns:organizacijaRow"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getOrganizacija_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getOrganizacija_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getNamen">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getNamenResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="unbounded" minOccurs="0">

      			<xsd:element name="dataItem" type="tns:namenRow"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getNamen_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getNamen_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getObisk">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getObiskResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="unbounded" minOccurs="0">

      			<xsd:element name="dataItem" type="tns:obiskRow"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getObisk_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getObisk_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendObisk">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

                        <xsd:element name="dataItem" type="tns:obiskRow" maxOccurs="unbounded" minOccurs="1"></xsd:element>
                        <xsd:element name="clientId" type="xsd:string"></xsd:element>
                    </xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendObiskResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendObisk_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendObisk_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getObiskPomoc">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="localTimestamp"
      				type="xsd:string">
      			</xsd:element>

      			<xsd:element name="localObiskId" type="xsd:int"></xsd:element>
      			<xsd:element name="localObiskPomocId" type="xsd:int"></xsd:element>
                        <xsd:element name="clientId" type="xsd:string"></xsd:element>
                    </xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getObiskPomocResponse">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="unbounded" minOccurs="0">

      			<xsd:element name="dataItem" type="tns:obiskPomocRow"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getObiskPomoc_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getObiskPomoc_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendObiskPomoc">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="dataItem" type="tns:obiskPomocRow"
      				maxOccurs="unbounded" minOccurs="1">
      			</xsd:element>


      			<xsd:element name="localObiskId" type="xsd:int"></xsd:element>

                        <xsd:element name="clientId" type="xsd:string"></xsd:element>
                    </xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendObiskPomocResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendObiskPomoc_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="sendObiskPomoc_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="sendIzpOdgovorResponse">
      	<xsd:complexType>
      		<xsd:sequence>
      			<xsd:element name="success" type="xsd:boolean"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getAnketiranecByCriterion">
      	<xsd:complexType>
      		<xsd:sequence maxOccurs="1" minOccurs="1">

      			<xsd:element name="criterion"
      				type="tns:AnketiranecCriterion">
      			</xsd:element>
      			<xsd:element name="clientId" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="NewOperationResponse1">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="out" type="xsd:string"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getAnketiranecByCriterionResponse">
      	<xsd:complexType>
      		<xsd:sequence>


      			<xsd:element name="result" type="tns:AnketiranecSearchResult"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
    
      <xsd:complexType name="AnketiranecCriterion">
      	<xsd:sequence>
      		<xsd:element name="ime" type="xsd:string" maxOccurs="1" minOccurs="0"></xsd:element>
      		<xsd:element name="priimek" type="xsd:string" maxOccurs="1" minOccurs="0"></xsd:element>
      		<xsd:element name="dob" type="xsd:string" maxOccurs="1" minOccurs="0"></xsd:element>
      		<xsd:element name="letnik" type="xsd:int" maxOccurs="1" minOccurs="0"></xsd:element>
      		<xsd:element name="ulica" type="xsd:string" maxOccurs="1" minOccurs="0"></xsd:element>
      		<xsd:element name="zip" type="xsd:string" maxOccurs="1" minOccurs="0"></xsd:element>
      		<xsd:element name="kraj" type="xsd:string" maxOccurs="1" minOccurs="0"></xsd:element>
      		<xsd:element name="spol" type="xsd:string" maxOccurs="1" minOccurs="0"></xsd:element>
      		<xsd:element name="telefon" type="xsd:string" maxOccurs="1" minOccurs="0"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getAnketiranecByCriterion_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getAnketiranecByCriterion_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:complexType name="AnketiranecSearchResult">
      	<xsd:sequence>
      		<xsd:element name="numberOfItems" type="xsd:int"></xsd:element>
      		<xsd:element name="dataItem" type="tns:anketiranecRow"></xsd:element>
      	</xsd:sequence>
      </xsd:complexType>
      <xsd:element name="getLastIzpAnketa">
      	<xsd:complexType>
      		<xsd:sequence>

                        <xsd:element name="anketiranecId" type="xsd:int"></xsd:element>
                        <xsd:element name="clientId" type="xsd:string"></xsd:element>

      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getLastIzpAnketaResponse">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="result" type="tns:izpAnketaRow"></xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      <xsd:element name="getLastIzpAnketa_fault">
      	<xsd:complexType>
      		<xsd:sequence>

      			<xsd:element name="getLastIzpAnketa_fault"
      				type="xsd:string">
      			</xsd:element>
      		</xsd:sequence>
      	</xsd:complexType>
      </xsd:element>
      
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="getUporabnikRequest">
    <wsdl:part element="tns:getUporabnik" name="parameters"/>
  </wsdl:message>
  <wsdl:message name="getUporabnikResponse">
    <wsdl:part element="tns:getUporabnikResponse" name="parameters"/>
  </wsdl:message>
  <wsdl:message name="getUporabnik_faultMsg">
  	<wsdl:part name="parameters" element="tns:getUporabnik_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendUporabnikRequest">
  	<wsdl:part name="parameters" element="tns:sendUporabnik"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendUporabnikResponse">
  	<wsdl:part name="parameters" element="tns:sendUporabnikResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendUporabnik_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendUporabnik_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPostaRequest">
  	<wsdl:part name="parameters" element="tns:getPosta"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPostaResponse">
  	<wsdl:part name="parameters" element="tns:getPostaResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPosta_faultMsg">
  	<wsdl:part name="parameters" element="tns:getPosta_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPostaRequest">
  	<wsdl:part name="parameters" element="tns:sendPosta"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPostaResponse">
  	<wsdl:part name="parameters" element="tns:sendPostaResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getDrustvoRequest">
  	<wsdl:part name="parameters" element="tns:getDrustvo"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getDrustvoResponse">
  	<wsdl:part name="parameters" element="tns:getDrustvoResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getDrustvo_faultMsg">
  	<wsdl:part name="parameters" element="tns:getDrustvo_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getOdgovorRequest">
  	<wsdl:part name="parameters" element="tns:getOdgovor"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getOdgovorResponse">
  	<wsdl:part name="parameters" element="tns:getOdgovorResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getOdgovor_faultMsg">
  	<wsdl:part name="parameters" element="tns:getOdgovor_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendOdgovorRequest">
  	<wsdl:part name="parameters" element="tns:sendOdgovor"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendOdgovorResponse">
  	<wsdl:part name="parameters" element="tns:sendOdgovorResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getVprasanjeRequest">
  	<wsdl:part name="parameters" element="tns:getVprasanje"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getVprasanjeResponse">
  	<wsdl:part name="parameters" element="tns:getVprasanjeResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getVprasanje_faultMsg">
  	<wsdl:part name="parameters" element="tns:getVprasanje_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendVprasanjeRequest">
  	<wsdl:part name="parameters" element="tns:sendVprasanje"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendVprasanjeResponse">
  	<wsdl:part name="parameters" element="tns:sendVprasanjeResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPoglavjeRequest">
  	<wsdl:part name="parameters" element="tns:getPoglavje"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPoglavjeResponse">
  	<wsdl:part name="parameters" element="tns:getPoglavjeResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPoglavje_faultMsg">
  	<wsdl:part name="parameters" element="tns:getPoglavje_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnketaRequest">
  	<wsdl:part name="parameters" element="tns:getAnketa"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnketaResponse">
  	<wsdl:part name="parameters" element="tns:getAnketaResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnketa_faultMsg">
  	<wsdl:part name="parameters" element="tns:getAnketa_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnkPoglRequest">
  	<wsdl:part name="parameters" element="tns:getAnkPogl"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnkPoglResponse">
  	<wsdl:part name="parameters" element="tns:getAnkPoglResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnkPogl_faultMsg">
  	<wsdl:part name="parameters" element="tns:getAnkPogl_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendAnkPoglRequest">
  	<wsdl:part name="parameters" element="tns:sendAnkPogl"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendAnkPoglResponse">
  	<wsdl:part name="parameters" element="tns:sendAnkPoglResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPoglVprasRequest">
  	<wsdl:part name="parameters" element="tns:getPoglVpras"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPoglVprasResponse">
  	<wsdl:part name="parameters" element="tns:getPoglVprasResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPoglVpras_faultMsg">
  	<wsdl:part name="parameters" element="tns:getPoglVpras_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPoglVprasRequest">
  	<wsdl:part name="parameters" element="tns:sendPoglVpras"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPoglVprasResponse">
  	<wsdl:part name="parameters" element="tns:sendPoglVprasResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getVprasOdgRequest">
  	<wsdl:part name="parameters" element="tns:getVprasOdg"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getVprasOdgResponse">
  	<wsdl:part name="parameters" element="tns:getVprasOdgResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getVprasOdg_faultMsg">
  	<wsdl:part name="parameters" element="tns:getVprasOdg_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendVprasOdgRequest">
  	<wsdl:part name="parameters" element="tns:sendVprasOdg"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendVprasOdgResponse">
  	<wsdl:part name="parameters" element="tns:sendVprasOdgResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnketiranecRequest">
  	<wsdl:part name="parameters" element="tns:getAnketiranec"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnketiranecResponse">
  	<wsdl:part name="parameters" element="tns:getAnketiranecResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnketiranec_faultMsg">
  	<wsdl:part name="parameters" element="tns:getAnketiranec_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendAnketiranecRequest">
  	<wsdl:part name="parameters" element="tns:sendAnketiranec"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendAnketiranecResponse">
  	<wsdl:part name="parameters" element="tns:sendAnketiranecResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getRezultatRequest">
  	<wsdl:part name="parameters" element="tns:getRezultat"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getRezultatResponse">
  	<wsdl:part name="parameters" element="tns:getRezultatResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getRezultat_faultMsg">
  	<wsdl:part name="parameters" element="tns:getRezultat_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendRezultatRequest">
  	<wsdl:part name="parameters" element="tns:sendRezultat"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendRezultatResponse">
  	<wsdl:part name="parameters" element="tns:sendRezultatResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPomocRequest">
  	<wsdl:part name="parameters" element="tns:getPomoc"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPomocResponse">
  	<wsdl:part name="parameters" element="tns:getPomocResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPomoc_faultMsg">
  	<wsdl:part name="parameters" element="tns:getPomoc_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPomocOrgaizacijeRequest">
  	<wsdl:part name="parameters" element="tns:sendPomocOrgaizacije"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPomocOrgaizacijeResponse">
  	<wsdl:part name="parameters" element="tns:sendPomocOrgaizacijeResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPoglavjeRequest">
  	<wsdl:part name="parameters" element="tns:sendPoglavje"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPoglavjeResponse">
  	<wsdl:part name="parameters" element="tns:sendPoglavjeResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendDrustvoRequest">
  	<wsdl:part name="parameters" element="tns:sendDrustvo"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendDrustvoResponse">
  	<wsdl:part name="parameters" element="tns:sendDrustvoResponse"></wsdl:part>
  </wsdl:message>

  <wsdl:message name="sendIzpAnketaRequest">
  	<wsdl:part name="parameters" element="tns:sendIzpAnketa"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendIzpAnketaResponse">
  	<wsdl:part name="parameters" element="tns:sendIzpAnketaResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPoglavje_fault1Msg">
  	<wsdl:part name="parameters" element="tns:sendPoglavje_fault1"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendIzpAnketa_fault1Msg">
  	<wsdl:part name="parameters" element="tns:sendIzpAnketa_fault1"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendIzpAnketa_fault1Msg1">
  	<wsdl:part name="parameters" element="tns:sendIzpAnketa_fault11"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPoglavje_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendPoglavje_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendIzpAnketa_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendIzpAnketa_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendRezultat_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendRezultat_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getIzpAnketaRequest">
  	<wsdl:part name="parameters" element="tns:getIzpAnketa"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="NewOperationResponse">
  	<wsdl:part name="parameters" element="tns:NewOperationResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendAnketiranec_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendAnketiranec_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendVprasOdg_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendVprasOdg_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPoglVpras_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendPoglVpras_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendAnkPogl_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendAnkPogl_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendVprasanje_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendVprasanje_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendOdgovor_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendOdgovor_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendPosta_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendPosta_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendDrustvo_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendDrustvo_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getIzpAnketaResponse">
  	<wsdl:part name="parameters" element="tns:getIzpAnketaResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getIzpAnketa_faultMsg">
  	<wsdl:part name="parameters" element="tns:getIzpAnketa_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getOrganizacijaRequest">
  	<wsdl:part name="parameters" element="tns:getOrganizacija"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getOrganizacijaResponse">
  	<wsdl:part name="parameters" element="tns:getOrganizacijaResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getOrganizacija_faultMsg">
  	<wsdl:part name="parameters" element="tns:getOrganizacija_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getNamenRequest">
  	<wsdl:part name="parameters" element="tns:getNamen"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getNamenResponse">
  	<wsdl:part name="parameters" element="tns:getNamenResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getNamen_faultMsg">
  	<wsdl:part name="parameters" element="tns:getNamen_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getObiskRequest">
  	<wsdl:part name="parameters" element="tns:getObisk"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getObiskResponse">
  	<wsdl:part name="parameters" element="tns:getObiskResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getObisk_faultMsg">
  	<wsdl:part name="parameters" element="tns:getObisk_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendObiskRequest">
  	<wsdl:part name="parameters" element="tns:sendObisk"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendObiskResponse">
  	<wsdl:part name="parameters" element="tns:sendObiskResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendObisk_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendObisk_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getObiskPomocRequest">
  	<wsdl:part name="parameters" element="tns:getObiskPomoc"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getObiskPomocResponse">
  	<wsdl:part name="parameters" element="tns:getObiskPomocResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getObiskPomoc_faultMsg">
  	<wsdl:part name="parameters" element="tns:getObiskPomoc_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendObiskPomocRequest">
  	<wsdl:part name="parameters" element="tns:sendObiskPomoc"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendObiskPomocResponse">
  	<wsdl:part name="parameters" element="tns:sendObiskPomocResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="sendObiskPomoc_faultMsg">
  	<wsdl:part name="parameters" element="tns:sendObiskPomoc_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnketiranecByCriterionRequest">
  	<wsdl:part name="parameters" element="tns:getAnketiranecByCriterion"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="NewOperationResponse1">
  	<wsdl:part name="parameters" element="tns:NewOperationResponse1"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnketiranecByCriterionResponse">
  	<wsdl:part name="parameters" element="tns:getAnketiranecByCriterionResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAnketiranecByCriterion_faultMsg">
  	<wsdl:part name="parameters" element="tns:getAnketiranecByCriterion_fault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getLastIzpAnketaRequest">
  	<wsdl:part name="parameters" element="tns:getLastIzpAnketa"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getLastIzpAnketaResponse">
  	<wsdl:part name="parameters" element="tns:getLastIzpAnketaResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="getLastIzpAnketa_faultMsg">
  	<wsdl:part name="parameters" element="tns:getLastIzpAnketa_fault"></wsdl:part>
  </wsdl:message>

  <wsdl:portType name="Service">
    <wsdl:operation name="getUporabnik">
      <wsdl:input message="tns:getUporabnikRequest"/>
      <wsdl:output message="tns:getUporabnikResponse"/>
            <wsdl:fault name="fault" message="tns:getUporabnik_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="sendUporabnik">
    	<wsdl:input message="tns:sendUporabnikRequest"></wsdl:input>
    	<wsdl:output message="tns:sendUporabnikResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:sendUporabnik_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getPosta">
    	<wsdl:input message="tns:getPostaRequest"></wsdl:input>
    	<wsdl:output message="tns:getPostaResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getPosta_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getDrustvo">
    	<wsdl:input message="tns:getDrustvoRequest"></wsdl:input>
    	<wsdl:output message="tns:getDrustvoResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getDrustvo_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getOdgovor">
    	<wsdl:input message="tns:getOdgovorRequest"></wsdl:input>
    	<wsdl:output message="tns:getOdgovorResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getOdgovor_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getVprasanje">
    	<wsdl:input message="tns:getVprasanjeRequest"></wsdl:input>
    	<wsdl:output message="tns:getVprasanjeResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getVprasanje_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getPoglavje">
    	<wsdl:input message="tns:getPoglavjeRequest"></wsdl:input>
    	<wsdl:output message="tns:getPoglavjeResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getPoglavje_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getAnketa">
    	<wsdl:input message="tns:getAnketaRequest"></wsdl:input>
    	<wsdl:output message="tns:getAnketaResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getAnketa_faultMsg"></wsdl:fault>
        </wsdl:operation>

    <wsdl:operation name="getAnkPogl">
    	<wsdl:input message="tns:getAnkPoglRequest"></wsdl:input>
    	<wsdl:output message="tns:getAnkPoglResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getAnkPogl_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getPoglVpras">
    	<wsdl:input message="tns:getPoglVprasRequest"></wsdl:input>
    	<wsdl:output message="tns:getPoglVprasResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getPoglVpras_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getVprasOdg">
    	<wsdl:input message="tns:getVprasOdgRequest"></wsdl:input>
    	<wsdl:output message="tns:getVprasOdgResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getVprasOdg_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getAnketiranec">
    	<wsdl:input message="tns:getAnketiranecRequest"></wsdl:input>
    	<wsdl:output message="tns:getAnketiranecResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getAnketiranec_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="sendAnketiranec">
    	<wsdl:input message="tns:sendAnketiranecRequest"></wsdl:input>
    	<wsdl:output message="tns:sendAnketiranecResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:sendAnketiranec_faultMsg"></wsdl:fault>
        </wsdl:operation>


    <wsdl:operation name="getRezultat">
    	<wsdl:input message="tns:getRezultatRequest"></wsdl:input>
    	<wsdl:output message="tns:getRezultatResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getRezultat_faultMsg"></wsdl:fault>
        </wsdl:operation>

    <wsdl:operation name="getPomoc">
    	<wsdl:input message="tns:getPomocRequest"></wsdl:input>
    	<wsdl:output message="tns:getPomocResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getPomoc_faultMsg"></wsdl:fault>
        </wsdl:operation>



    <wsdl:operation name="sendIzpAnketa">
    	<wsdl:input message="tns:sendIzpAnketaRequest"></wsdl:input>
    	<wsdl:output message="tns:sendIzpAnketaResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:sendIzpAnketa_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getIzpAnketa">
    	<wsdl:input message="tns:getIzpAnketaRequest"></wsdl:input>
    	<wsdl:output message="tns:getIzpAnketaResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getIzpAnketa_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getOrganizacija">
    	<wsdl:input message="tns:getOrganizacijaRequest"></wsdl:input>
    	<wsdl:output message="tns:getOrganizacijaResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getOrganizacija_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getNamen">
    	<wsdl:input message="tns:getNamenRequest"></wsdl:input>
    	<wsdl:output message="tns:getNamenResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getNamen_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getObisk">
    	<wsdl:input message="tns:getObiskRequest"></wsdl:input>
    	<wsdl:output message="tns:getObiskResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getObisk_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="sendObisk">
    	<wsdl:input message="tns:sendObiskRequest"></wsdl:input>
    	<wsdl:output message="tns:sendObiskResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:sendObisk_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getObiskPomoc">
    	<wsdl:input message="tns:getObiskPomocRequest"></wsdl:input>
    	<wsdl:output message="tns:getObiskPomocResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getObiskPomoc_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="sendObiskPomoc">
    	<wsdl:input message="tns:sendObiskPomocRequest"></wsdl:input>
    	<wsdl:output message="tns:sendObiskPomocResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:sendObiskPomoc_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getAnketiranecByCriterion">
    	<wsdl:input message="tns:getAnketiranecByCriterionRequest"></wsdl:input>
    	<wsdl:output message="tns:getAnketiranecByCriterionResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getAnketiranecByCriterion_faultMsg"></wsdl:fault>
        </wsdl:operation>
    <wsdl:operation name="getLastIzpAnketa">
    	<wsdl:input message="tns:getLastIzpAnketaRequest"></wsdl:input>
    	<wsdl:output message="tns:getLastIzpAnketaResponse"></wsdl:output>
            <wsdl:fault name="fault" message="tns:getLastIzpAnketa_faultMsg"></wsdl:fault>
        </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="ServiceSOAP" type="tns:Service">

  	<soap:binding style="document"
  		transport="http://schemas.xmlsoap.org/soap/http" />
  	<wsdl:operation name="getUporabnik">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getUporabnik" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="sendUporabnik">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/sendUporabnik" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="getPosta">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getPosta" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>

  	<wsdl:operation name="getDrustvo">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getDrustvo" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="getOdgovor">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getOdgovor" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>

  	<wsdl:operation name="getVprasanje">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getVprasanje" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>

  	<wsdl:operation name="getPoglavje">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getPoglavje" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="getAnketa">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getAnketa" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>

  	<wsdl:operation name="getAnkPogl">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getAnkPogl" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>

  	<wsdl:operation name="getPoglVpras">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getPoglVpras" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>

  	<wsdl:operation name="getVprasOdg">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getVprasOdg" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>

  	<wsdl:operation name="getAnketiranec">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getAnketiranec" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="sendAnketiranec">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/sendAnketiranec" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>


  	<wsdl:operation name="getRezultat">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getRezultat" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>

  	<wsdl:operation name="getPomoc">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getPomoc" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>


  	<wsdl:operation name="sendIzpAnketa">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/sendIzpAnketa" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="getIzpAnketa">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getIzpAnketa" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="getOrganizacija">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getOrganizacija" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="getNamen">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getNamen" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="getObisk">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getObisk" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="sendObisk">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/sendObisk" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="getObiskPomoc">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getObiskPomoc" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="sendObiskPomoc">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/sendObiskPomoc" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>
  	<wsdl:operation name="getAnketiranecByCriterion">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getAnketiranecByCriterion" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>

  	<wsdl:operation name="getLastIzpAnketa">

  		<soap:operation
  			soapAction="http://www.a-soft.si/BoproSOAP/getLastIzpAnketa" />
  		<wsdl:input>

  			<soap:body use="literal" />
  		</wsdl:input>
  		<wsdl:output>

  			<soap:body use="literal" />
  		</wsdl:output>
  		<wsdl:fault name="fault">

  			<soap:fault use="literal" name="fault" />
  		</wsdl:fault>
  	</wsdl:operation>

  </wsdl:binding>
  <wsdl:service name="Service">
    <wsdl:port binding="tns:ServiceSOAP" name="ServiceSOAP">
      <soap:address location="http://10.100.200.101:9082/BoproSyncServices/Service"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
-------------------------------

PAS:
-------------------------------
// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : Service.wsdl
//  >Import : Service.wsdl>0
// Encoding : UTF-8
// Codegen  : [wfUnwindLiteralParameters-]
// Version  : 1.0
// (19.10.2010 23:20:24 - - $Rev: 34800 $)
// ************************************************************************ //

unit Service1;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

const
  IS_OPTN = $0001;
  IS_UNBD = $0002;
  IS_UNQL = $0008;
  IS_REF  = $0080;


type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Embarcadero types; however, they could also 
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:boolean         - "http://www.w3.org/2001/XMLSchema"[Gbl]
  // !:double          - "http://www.w3.org/2001/XMLSchema"[Gbl]
  // !:string          - "http://www.w3.org/2001/XMLSchema"[Gbl]
  // !:int             - "http://www.w3.org/2001/XMLSchema"[Gbl]

  getOrganizacijaResponse = class;              { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  sendIzpAnketaResponse = class;                { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getNamenResponse     = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getAnketiranecByCriterionResponse = class;    { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getAnketiranecByCriterion_fault = class;      { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  sendIzpAnketa_fault  = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  sendAnketiranec_fault = class;                { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getIzpAnketa         = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  sendIzpAnketa        = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getOrganizacija      = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getIzpAnketa_fault   = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getNamen             = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getOrganizacija_fault = class;                { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getAnketiranecByCriterion = class;            { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getLastIzpAnketa     = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  ankPoglRow           = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  poglVprasRow         = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  anketaRow            = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  izpOdgovorRow        = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  vprasOdgRow          = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  anketiranecRow       = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  poglavjeRow          = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  odgovorRow           = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  vprasanjeRow         = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  postaRow             = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  drustvoRow           = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  uporabnikRow         = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  getLastIzpAnketaResponse = class;             { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getLastIzpAnketa_fault = class;               { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  izpAnketaRow         = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  sendObiskPomoc_fault = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getObisk_fault       = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  sendObisk            = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  sendObiskResponse    = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getNamen_fault       = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getObisk             = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getObiskResponse     = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getObiskPomoc_fault  = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  sendObiskPomoc       = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  sendObiskPomocResponse = class;               { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  sendObisk_fault      = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getObiskPomoc        = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getObiskPomocResponse = class;                { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  obiskRow             = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  getAnketa            = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getAnketa_fault      = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getPoglavje          = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getPoglavje_fault    = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  sendUporabnikResponse = class;                { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getPoglVpras         = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getAnkPogl           = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getAnkPogl_fault     = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  sendUporabnik_fault  = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getOdgovor           = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getOdgovor_fault     = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getDrustvo           = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getDrustvo_fault     = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getVprasanje_fault   = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getPosta             = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getPosta_fault       = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getPostaResponse     = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getVprasanje         = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  AnketiranecCriterion = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  organizacijaRow      = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  getPomoc             = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getRezultat          = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getRezultat_fault    = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  namenRow             = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  pomocRow             = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  rezultatRow          = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  getPomoc_fault       = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  obiskPomocRow        = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  sendAnketiranecResponse = class;              { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getVprasOdg          = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getVprasOdg_fault    = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getPoglVpras_fault   = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  getUporabnik_fault   = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  sendUporabnik        = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getAnketiranec_fault = class;                 { "http://www.a-soft.si/BoproSOAP/"[Flt][GblElm] }
  sendAnketiranec      = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  getUporabnik         = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }
  AnketiranecSearchResult = class;              { "http://www.a-soft.si/BoproSOAP/"[GblCplx] }
  getAnketiranec       = class;                 { "http://www.a-soft.si/BoproSOAP/"[GblElm] }



  // ************************************************************************ //
  // XML       : getOrganizacijaResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getOrganizacijaResponse = class(TRemotable)
  private
    FdataItem: organizacijaRow;
  public
    destructor Destroy; override;
  published
    property dataItem: organizacijaRow  Index (IS_UNQL) read FdataItem write FdataItem;
  end;

  getIzpAnketaResponse = array of izpAnketaRow;   { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : sendIzpAnketaResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  sendIzpAnketaResponse = class(TRemotable)
  private
    Fsuccess: Boolean;
  published
    property success: Boolean  Index (IS_UNQL) read Fsuccess write Fsuccess;
  end;



  // ************************************************************************ //
  // XML       : getNamenResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getNamenResponse = class(TRemotable)
  private
    FdataItem: namenRow;
  public
    destructor Destroy; override;
  published
    property dataItem: namenRow  Index (IS_UNQL) read FdataItem write FdataItem;
  end;



  // ************************************************************************ //
  // XML       : getAnketiranecByCriterionResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getAnketiranecByCriterionResponse = class(TRemotable)
  private
    Fresult: AnketiranecSearchResult;
  public
    destructor Destroy; override;
  published
    property result: AnketiranecSearchResult  Index (IS_UNQL) read Fresult write Fresult;
  end;



  // ************************************************************************ //
  // XML       : getAnketiranecByCriterion_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getAnketiranecByCriterion_fault = class(ERemotableException)
  private
    FgetAnketiranecByCriterion_fault: string;
  published
    property getAnketiranecByCriterion_fault: string  Index (IS_UNQL) read FgetAnketiranecByCriterion_fault write FgetAnketiranecByCriterion_fault;
  end;



  // ************************************************************************ //
  // XML       : sendIzpAnketa_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  sendIzpAnketa_fault = class(ERemotableException)
  private
    FsendIzpAnketa_fault: string;
  published
    property sendIzpAnketa_fault: string  Index (IS_UNQL) read FsendIzpAnketa_fault write FsendIzpAnketa_fault;
  end;



  // ************************************************************************ //
  // XML       : sendAnketiranec_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  sendAnketiranec_fault = class(ERemotableException)
  private
    FsendAnketiranec_fault: string;
  published
    property sendAnketiranec_fault: string  Index (IS_UNQL) read FsendAnketiranec_fault write FsendAnketiranec_fault;
  end;



  // ************************************************************************ //
  // XML       : getIzpAnketa, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getIzpAnketa = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : sendIzpAnketa, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  sendIzpAnketa = class(TRemotable)
  private
    FdataItem: getIzpAnketaResponse;
    FclientId: string;
  public
    destructor Destroy; override;
  published
    property dataItem: getIzpAnketaResponse  Index (IS_UNBD or IS_UNQL) read FdataItem write FdataItem;
    property clientId: string                Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : getOrganizacija, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getOrganizacija = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : getIzpAnketa_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getIzpAnketa_fault = class(ERemotableException)
  private
    FgetIzpAnketa_fault: string;
  published
    property getIzpAnketa_fault: string  Index (IS_UNQL) read FgetIzpAnketa_fault write FgetIzpAnketa_fault;
  end;



  // ************************************************************************ //
  // XML       : getNamen, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getNamen = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : getOrganizacija_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getOrganizacija_fault = class(ERemotableException)
  private
    FgetOrganizacija_fault: string;
  published
    property getOrganizacija_fault: string  Index (IS_UNQL) read FgetOrganizacija_fault write FgetOrganizacija_fault;
  end;



  // ************************************************************************ //
  // XML       : getAnketiranecByCriterion, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getAnketiranecByCriterion = class(TRemotable)
  private
    Fcriterion: AnketiranecCriterion;
    FclientId: string;
  public
    destructor Destroy; override;
  published
    property criterion: AnketiranecCriterion  Index (IS_UNQL) read Fcriterion write Fcriterion;
    property clientId:  string                Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : getLastIzpAnketa, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getLastIzpAnketa = class(TRemotable)
  private
    FanketiranecId: Integer;
    FclientId: string;
  published
    property anketiranecId: Integer  Index (IS_UNQL) read FanketiranecId write FanketiranecId;
    property clientId:      string   Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : ankPoglRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  ankPoglRow = class(TRemotable)
  private
    Fid: Integer;
    Fzap_stev: Integer;
    Fid_anketa: Integer;
    Fid_poglavje: Integer;
    Flastupdate: string;
  published
    property id:          Integer  Index (IS_UNQL) read Fid write Fid;
    property zap_stev:    Integer  Index (IS_UNQL) read Fzap_stev write Fzap_stev;
    property id_anketa:   Integer  Index (IS_UNQL) read Fid_anketa write Fid_anketa;
    property id_poglavje: Integer  Index (IS_UNQL) read Fid_poglavje write Fid_poglavje;
    property lastupdate:  string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : poglVprasRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  poglVprasRow = class(TRemotable)
  private
    Fid: Integer;
    Fzap_stev: Integer;
    Fodg_obvezen: Boolean;
    Fid_ank_pog: Integer;
    Fid_vprasanje: Integer;
    Flastupdate: string;
  published
    property id:           Integer  Index (IS_UNQL) read Fid write Fid;
    property zap_stev:     Integer  Index (IS_UNQL) read Fzap_stev write Fzap_stev;
    property odg_obvezen:  Boolean  Index (IS_UNQL) read Fodg_obvezen write Fodg_obvezen;
    property id_ank_pog:   Integer  Index (IS_UNQL) read Fid_ank_pog write Fid_ank_pog;
    property id_vprasanje: Integer  Index (IS_UNQL) read Fid_vprasanje write Fid_vprasanje;
    property lastupdate:   string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : anketaRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  anketaRow = class(TRemotable)
  private
    Fid: Integer;
    Fnaziv: string;
    Flastupdate: string;
  published
    property id:         Integer  Index (IS_UNQL) read Fid write Fid;
    property naziv:      string   Index (IS_UNQL) read Fnaziv write Fnaziv;
    property lastupdate: string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : izpOdgovorRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  izpOdgovorRow = class(TRemotable)
  private
    Fid: Integer;
    Fponder: Integer;
    Fvalue_float: Double;
    Fvalue_text: string;
    Fvalue_datum: string;
    Fvalue_ura: string;
    Fvalue_bool: Boolean;
    Fdodaten_opis: string;
    Fid_izp_anketa: Integer;
    Fid_poglavje: Integer;
    Fid_vprasanje: Integer;
    Fid_odgovor: Integer;
    Flastupdate: string;
  published
    property id:            Integer  Index (IS_UNQL) read Fid write Fid;
    property ponder:        Integer  Index (IS_UNQL) read Fponder write Fponder;
    property value_float:   Double   Index (IS_UNQL) read Fvalue_float write Fvalue_float;
    property value_text:    string   Index (IS_UNQL) read Fvalue_text write Fvalue_text;
    property value_datum:   string   Index (IS_UNQL) read Fvalue_datum write Fvalue_datum;
    property value_ura:     string   Index (IS_UNQL) read Fvalue_ura write Fvalue_ura;
    property value_bool:    Boolean  Index (IS_UNQL) read Fvalue_bool write Fvalue_bool;
    property dodaten_opis:  string   Index (IS_UNQL) read Fdodaten_opis write Fdodaten_opis;
    property id_izp_anketa: Integer  Index (IS_UNQL) read Fid_izp_anketa write Fid_izp_anketa;
    property id_poglavje:   Integer  Index (IS_UNQL) read Fid_poglavje write Fid_poglavje;
    property id_vprasanje:  Integer  Index (IS_UNQL) read Fid_vprasanje write Fid_vprasanje;
    property id_odgovor:    Integer  Index (IS_UNQL) read Fid_odgovor write Fid_odgovor;
    property lastupdate:    string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : vprasOdgRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  vprasOdgRow = class(TRemotable)
  private
    Fid: Integer;
    Fid_pogl_vpras: Integer;
    Fzap_stev: Integer;
    Fid_odgovor: Integer;
    Fponder: Integer;
    Flastupdate: string;
  published
    property id:            Integer  Index (IS_UNQL) read Fid write Fid;
    property id_pogl_vpras: Integer  Index (IS_UNQL) read Fid_pogl_vpras write Fid_pogl_vpras;
    property zap_stev:      Integer  Index (IS_UNQL) read Fzap_stev write Fzap_stev;
    property id_odgovor:    Integer  Index (IS_UNQL) read Fid_odgovor write Fid_odgovor;
    property ponder:        Integer  Index (IS_UNQL) read Fponder write Fponder;
    property lastupdate:    string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : anketiranecRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  anketiranecRow = class(TRemotable)
  private
    Fid: Integer;
    Fstevilka: string;
    Fime: string;
    Fpriimek: string;
    Femso: string;
    Fdavcna: string;
    Fdob: string;
    Fulica: string;
    Fzip: string;
    Fkraj: string;
    Faktiven: Boolean;
    Fspol: string;
    Fdod: string;
    Ftelefon: string;
    Fletnik: Integer;
    Flastupdate: string;
  published
    property id:         Integer  Index (IS_UNQL) read Fid write Fid;
    property stevilka:   string   Index (IS_UNQL) read Fstevilka write Fstevilka;
    property ime:        string   Index (IS_UNQL) read Fime write Fime;
    property priimek:    string   Index (IS_UNQL) read Fpriimek write Fpriimek;
    property emso:       string   Index (IS_UNQL) read Femso write Femso;
    property davcna:     string   Index (IS_UNQL) read Fdavcna write Fdavcna;
    property dob:        string   Index (IS_UNQL) read Fdob write Fdob;
    property ulica:      string   Index (IS_UNQL) read Fulica write Fulica;
    property zip:        string   Index (IS_UNQL) read Fzip write Fzip;
    property kraj:       string   Index (IS_UNQL) read Fkraj write Fkraj;
    property aktiven:    Boolean  Index (IS_UNQL) read Faktiven write Faktiven;
    property spol:       string   Index (IS_UNQL) read Fspol write Fspol;
    property dod:        string   Index (IS_UNQL) read Fdod write Fdod;
    property telefon:    string   Index (IS_UNQL) read Ftelefon write Ftelefon;
    property letnik:     Integer  Index (IS_UNQL) read Fletnik write Fletnik;
    property lastupdate: string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : poglavjeRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  poglavjeRow = class(TRemotable)
  private
    Fid: Integer;
    Fnaziv: string;
    Flastupdate: string;
  published
    property id:         Integer  Index (IS_UNQL) read Fid write Fid;
    property naziv:      string   Index (IS_UNQL) read Fnaziv write Fnaziv;
    property lastupdate: string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : odgovorRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  odgovorRow = class(TRemotable)
  private
    Fid: Integer;
    Fnaziv: string;
    Ftip: Integer;
    Fvalue_float: Double;
    Fvalue_text: string;
    Fvalue_datum: string;
    Fvalue_ura: string;
    Fvalue_bool: Boolean;
    Fdodaten_opis: Boolean;
    Flastupdate: string;
  published
    property id:           Integer  Index (IS_UNQL) read Fid write Fid;
    property naziv:        string   Index (IS_UNQL) read Fnaziv write Fnaziv;
    property tip:          Integer  Index (IS_UNQL) read Ftip write Ftip;
    property value_float:  Double   Index (IS_UNQL) read Fvalue_float write Fvalue_float;
    property value_text:   string   Index (IS_UNQL) read Fvalue_text write Fvalue_text;
    property value_datum:  string   Index (IS_UNQL) read Fvalue_datum write Fvalue_datum;
    property value_ura:    string   Index (IS_UNQL) read Fvalue_ura write Fvalue_ura;
    property value_bool:   Boolean  Index (IS_UNQL) read Fvalue_bool write Fvalue_bool;
    property dodaten_opis: Boolean  Index (IS_UNQL) read Fdodaten_opis write Fdodaten_opis;
    property lastupdate:   string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : vprasanjeRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  vprasanjeRow = class(TRemotable)
  private
    Fid: Integer;
    Fnaziv: string;
    Fnavodilo: string;
    Fopomba: string;
    Flastupdate: string;
  published
    property id:         Integer  Index (IS_UNQL) read Fid write Fid;
    property naziv:      string   Index (IS_UNQL) read Fnaziv write Fnaziv;
    property navodilo:   string   Index (IS_UNQL) read Fnavodilo write Fnavodilo;
    property opomba:     string   Index (IS_UNQL) read Fopomba write Fopomba;
    property lastupdate: string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : postaRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  postaRow = class(TRemotable)
  private
    Fid: Integer;
    Fzip: string;
    Fkraj: string;
    Flastupdate: string;
  published
    property id:         Integer  Index (IS_UNQL) read Fid write Fid;
    property zip:        string   Index (IS_UNQL) read Fzip write Fzip;
    property kraj:       string   Index (IS_UNQL) read Fkraj write Fkraj;
    property lastupdate: string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : drustvoRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  drustvoRow = class(TRemotable)
  private
    Fid: Integer;
    Fnaziv: string;
    Fulica: string;
    Fkraj: string;
    Fbopro_id: string;
    Flastupdate: string;
    Fzip: string;
  published
    property id:         Integer  Index (IS_UNQL) read Fid write Fid;
    property naziv:      string   Index (IS_UNQL) read Fnaziv write Fnaziv;
    property ulica:      string   Index (IS_UNQL) read Fulica write Fulica;
    property kraj:       string   Index (IS_UNQL) read Fkraj write Fkraj;
    property bopro_id:   string   Index (IS_UNQL) read Fbopro_id write Fbopro_id;
    property lastupdate: string   Index (IS_UNQL) read Flastupdate write Flastupdate;
    property zip:        string   Index (IS_UNQL) read Fzip write Fzip;
  end;



  // ************************************************************************ //
  // XML       : uporabnikRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  uporabnikRow = class(TRemotable)
  private
    Fid: Integer;
    Fime: string;
    Fpriimek: string;
    Fuserid: string;
    Fhash: string;
    Favtorizacija: Integer;
    Ftelefon: string;
    Fulica: string;
    Fzip: string;
    Fkraj: string;
    Fobmocje: string;
    Faktiven: Boolean;
    Flastupdate: string;
  published
    property id:           Integer  Index (IS_UNQL) read Fid write Fid;
    property ime:          string   Index (IS_UNQL) read Fime write Fime;
    property priimek:      string   Index (IS_UNQL) read Fpriimek write Fpriimek;
    property userid:       string   Index (IS_UNQL) read Fuserid write Fuserid;
    property hash:         string   Index (IS_UNQL) read Fhash write Fhash;
    property avtorizacija: Integer  Index (IS_UNQL) read Favtorizacija write Favtorizacija;
    property telefon:      string   Index (IS_UNQL) read Ftelefon write Ftelefon;
    property ulica:        string   Index (IS_UNQL) read Fulica write Fulica;
    property zip:          string   Index (IS_UNQL) read Fzip write Fzip;
    property kraj:         string   Index (IS_UNQL) read Fkraj write Fkraj;
    property obmocje:      string   Index (IS_UNQL) read Fobmocje write Fobmocje;
    property aktiven:      Boolean  Index (IS_UNQL) read Faktiven write Faktiven;
    property lastupdate:   string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;

  Array_Of_obiskRow = array of obiskRow;        { "http://www.a-soft.si/BoproSOAP/"[GblUbnd] }
  Array_Of_obiskPomocRow = array of obiskPomocRow;   { "http://www.a-soft.si/BoproSOAP/"[GblUbnd] }


  // ************************************************************************ //
  // XML       : getLastIzpAnketaResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getLastIzpAnketaResponse = class(TRemotable)
  private
    Fresult: izpAnketaRow;
  public
    destructor Destroy; override;
  published
    property result: izpAnketaRow  Index (IS_UNQL) read Fresult write Fresult;
  end;



  // ************************************************************************ //
  // XML       : getLastIzpAnketa_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getLastIzpAnketa_fault = class(ERemotableException)
  private
    FgetLastIzpAnketa_fault: string;
  published
    property getLastIzpAnketa_fault: string  Index (IS_UNQL) read FgetLastIzpAnketa_fault write FgetLastIzpAnketa_fault;
  end;

  Array_Of_izpOdgovorRow = array of izpOdgovorRow;   { "http://www.a-soft.si/BoproSOAP/"[GblUbnd] }


  // ************************************************************************ //
  // XML       : izpAnketaRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  izpAnketaRow = class(TRemotable)
  private
    Fid: Integer;
    Fid_anketa: Integer;
    Fid_anketiranec: Integer;
    Fid_uporabnik: Integer;
    Fdatum_vnosa: string;
    Fdatum_obiska: string;
    Flastupdate: string;
    FizpOdgovori: Array_Of_izpOdgovorRow;
    FizpOdgovori_Specified: boolean;
    procedure SetizpOdgovori(Index: Integer; const AArray_Of_izpOdgovorRow: Array_Of_izpOdgovorRow);
    function  izpOdgovori_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property id:             Integer                 Index (IS_UNQL) read Fid write Fid;
    property id_anketa:      Integer                 Index (IS_UNQL) read Fid_anketa write Fid_anketa;
    property id_anketiranec: Integer                 Index (IS_UNQL) read Fid_anketiranec write Fid_anketiranec;
    property id_uporabnik:   Integer                 Index (IS_UNQL) read Fid_uporabnik write Fid_uporabnik;
    property datum_vnosa:    string                  Index (IS_UNQL) read Fdatum_vnosa write Fdatum_vnosa;
    property datum_obiska:   string                  Index (IS_UNQL) read Fdatum_obiska write Fdatum_obiska;
    property lastupdate:     string                  Index (IS_UNQL) read Flastupdate write Flastupdate;
    property izpOdgovori:    Array_Of_izpOdgovorRow  Index (IS_OPTN or IS_UNBD or IS_UNQL) read FizpOdgovori write SetizpOdgovori stored izpOdgovori_Specified;
  end;



  // ************************************************************************ //
  // XML       : sendObiskPomoc_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  sendObiskPomoc_fault = class(ERemotableException)
  private
    FsendObiskPomoc_fault: string;
  published
    property sendObiskPomoc_fault: string  Index (IS_UNQL) read FsendObiskPomoc_fault write FsendObiskPomoc_fault;
  end;



  // ************************************************************************ //
  // XML       : getObisk_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getObisk_fault = class(ERemotableException)
  private
    FgetObisk_fault: string;
  published
    property getObisk_fault: string  Index (IS_UNQL) read FgetObisk_fault write FgetObisk_fault;
  end;



  // ************************************************************************ //
  // XML       : sendObisk, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  sendObisk = class(TRemotable)
  private
    FdataItem: Array_Of_obiskRow;
    FclientId: string;
  public
    destructor Destroy; override;
  published
    property dataItem: Array_Of_obiskRow  Index (IS_UNBD or IS_UNQL) read FdataItem write FdataItem;
    property clientId: string             Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : sendObiskResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  sendObiskResponse = class(TRemotable)
  private
    Fsuccess: Boolean;
  published
    property success: Boolean  Index (IS_UNQL) read Fsuccess write Fsuccess;
  end;



  // ************************************************************************ //
  // XML       : getNamen_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getNamen_fault = class(ERemotableException)
  private
    FgetNamen_fault: string;
  published
    property getNamen_fault: string  Index (IS_UNQL) read FgetNamen_fault write FgetNamen_fault;
  end;



  // ************************************************************************ //
  // XML       : getObisk, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getObisk = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : getObiskResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getObiskResponse = class(TRemotable)
  private
    FdataItem: obiskRow;
  public
    destructor Destroy; override;
  published
    property dataItem: obiskRow  Index (IS_UNQL) read FdataItem write FdataItem;
  end;



  // ************************************************************************ //
  // XML       : getObiskPomoc_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getObiskPomoc_fault = class(ERemotableException)
  private
    FgetObiskPomoc_fault: string;
  published
    property getObiskPomoc_fault: string  Index (IS_UNQL) read FgetObiskPomoc_fault write FgetObiskPomoc_fault;
  end;



  // ************************************************************************ //
  // XML       : sendObiskPomoc, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  sendObiskPomoc = class(TRemotable)
  private
    FdataItem: Array_Of_obiskPomocRow;
    FlocalObiskId: Integer;
    FclientId: string;
  public
    destructor Destroy; override;
  published
    property dataItem:     Array_Of_obiskPomocRow  Index (IS_UNBD or IS_UNQL) read FdataItem write FdataItem;
    property localObiskId: Integer                 Index (IS_UNQL) read FlocalObiskId write FlocalObiskId;
    property clientId:     string                  Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : sendObiskPomocResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  sendObiskPomocResponse = class(TRemotable)
  private
    Fsuccess: Boolean;
  published
    property success: Boolean  Index (IS_UNQL) read Fsuccess write Fsuccess;
  end;



  // ************************************************************************ //
  // XML       : sendObisk_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  sendObisk_fault = class(ERemotableException)
  private
    FsendObisk_fault: string;
  published
    property sendObisk_fault: string  Index (IS_UNQL) read FsendObisk_fault write FsendObisk_fault;
  end;



  // ************************************************************************ //
  // XML       : getObiskPomoc, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getObiskPomoc = class(TRemotable)
  private
    FlocalTimestamp: string;
    FlocalObiskId: Integer;
    FlocalObiskPomocId: Integer;
    FclientId: string;
  published
    property localTimestamp:    string   Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property localObiskId:      Integer  Index (IS_UNQL) read FlocalObiskId write FlocalObiskId;
    property localObiskPomocId: Integer  Index (IS_UNQL) read FlocalObiskPomocId write FlocalObiskPomocId;
    property clientId:          string   Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : getObiskPomocResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getObiskPomocResponse = class(TRemotable)
  private
    FdataItem: obiskPomocRow;
  public
    destructor Destroy; override;
  published
    property dataItem: obiskPomocRow  Index (IS_UNQL) read FdataItem write FdataItem;
  end;



  // ************************************************************************ //
  // XML       : obiskRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  obiskRow = class(TRemotable)
  private
    Fid: Integer;
    Fdatum_obiska: string;
    Fobisk_potreba: string;
    Fponovni_obisk: Integer;
    Fponovni_datum: string;
    Fopomba: string;
    Fid_anketiranec: Integer;
    Fid_uporabnik: Integer;
    Fid_namen: Integer;
    Fid_rezultat: Integer;
    Fid_anketa: Integer;
    Fid_pred_obisk: Integer;
    Flastupdate: string;
  published
    property id:             Integer  Index (IS_UNQL) read Fid write Fid;
    property datum_obiska:   string   Index (IS_UNQL) read Fdatum_obiska write Fdatum_obiska;
    property obisk_potreba:  string   Index (IS_UNQL) read Fobisk_potreba write Fobisk_potreba;
    property ponovni_obisk:  Integer  Index (IS_UNQL) read Fponovni_obisk write Fponovni_obisk;
    property ponovni_datum:  string   Index (IS_UNQL) read Fponovni_datum write Fponovni_datum;
    property opomba:         string   Index (IS_UNQL) read Fopomba write Fopomba;
    property id_anketiranec: Integer  Index (IS_UNQL) read Fid_anketiranec write Fid_anketiranec;
    property id_uporabnik:   Integer  Index (IS_UNQL) read Fid_uporabnik write Fid_uporabnik;
    property id_namen:       Integer  Index (IS_UNQL) read Fid_namen write Fid_namen;
    property id_rezultat:    Integer  Index (IS_UNQL) read Fid_rezultat write Fid_rezultat;
    property id_anketa:      Integer  Index (IS_UNQL) read Fid_anketa write Fid_anketa;
    property id_pred_obisk:  Integer  Index (IS_UNQL) read Fid_pred_obisk write Fid_pred_obisk;
    property lastupdate:     string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : getAnketa, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getAnketa = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;

  getAnketaResponse = array of anketaRow;       { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : getAnketa_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getAnketa_fault = class(ERemotableException)
  private
    FgetAnketa_fault: string;
  published
    property getAnketa_fault: string  Index (IS_UNQL) read FgetAnketa_fault write FgetAnketa_fault;
  end;



  // ************************************************************************ //
  // XML       : getPoglavje, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getPoglavje = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;

  getPoglavjeResponse = array of poglavjeRow;   { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : getPoglavje_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getPoglavje_fault = class(ERemotableException)
  private
    FgetPoglavje_fault: string;
  published
    property getPoglavje_fault: string  Index (IS_UNQL) read FgetPoglavje_fault write FgetPoglavje_fault;
  end;



  // ************************************************************************ //
  // XML       : sendUporabnikResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  sendUporabnikResponse = class(TRemotable)
  private
    Fsuccess: Boolean;
  published
    property success: Boolean  Index (IS_UNQL) read Fsuccess write Fsuccess;
  end;



  // ************************************************************************ //
  // XML       : getPoglVpras, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getPoglVpras = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : getAnkPogl, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getAnkPogl = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;

  getAnkPoglResponse = array of ankPoglRow;     { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : getAnkPogl_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getAnkPogl_fault = class(ERemotableException)
  private
    FgetAnkPogl_fault: string;
  published
    property getAnkPogl_fault: string  Index (IS_UNQL) read FgetAnkPogl_fault write FgetAnkPogl_fault;
  end;



  // ************************************************************************ //
  // XML       : sendUporabnik_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  sendUporabnik_fault = class(ERemotableException)
  private
    FsendUporabnik_fault: string;
  published
    property sendUporabnik_fault: string  Index (IS_UNQL) read FsendUporabnik_fault write FsendUporabnik_fault;
  end;



  // ************************************************************************ //
  // XML       : getOdgovor, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getOdgovor = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;

  getOdgovorResponse = array of odgovorRow;     { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : getOdgovor_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getOdgovor_fault = class(ERemotableException)
  private
    FgetOdgovor_fault: string;
  published
    property getOdgovor_fault: string  Index (IS_UNQL) read FgetOdgovor_fault write FgetOdgovor_fault;
  end;



  // ************************************************************************ //
  // XML       : getDrustvo, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getDrustvo = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;

  getDrustvoResponse = array of drustvoRow;     { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : getDrustvo_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getDrustvo_fault = class(ERemotableException)
  private
    FgetDrustvo_fault: string;
  published
    property getDrustvo_fault: string  Index (IS_UNQL) read FgetDrustvo_fault write FgetDrustvo_fault;
  end;

  getVprasanjeResponse = array of vprasanjeRow;   { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : getVprasanje_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getVprasanje_fault = class(ERemotableException)
  private
    FgetVprasanje_fault: string;
  published
    property getVprasanje_fault: string  Index (IS_UNQL) read FgetVprasanje_fault write FgetVprasanje_fault;
  end;



  // ************************************************************************ //
  // XML       : getPosta, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getPosta = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : getPosta_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getPosta_fault = class(ERemotableException)
  private
    FgetPosta_fault: string;
  published
    property getPosta_fault: string  Index (IS_UNQL) read FgetPosta_fault write FgetPosta_fault;
  end;



  // ************************************************************************ //
  // XML       : getPostaResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getPostaResponse = class(TRemotable)
  private
    FdataItem: postaRow;
  public
    destructor Destroy; override;
  published
    property dataItem: postaRow  Index (IS_UNQL) read FdataItem write FdataItem;
  end;



  // ************************************************************************ //
  // XML       : getVprasanje, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getVprasanje = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;

  getPoglVprasResponse = array of poglVprasRow;   { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : AnketiranecCriterion, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  AnketiranecCriterion = class(TRemotable)
  private
    Fime: string;
    Fime_Specified: boolean;
    Fpriimek: string;
    Fpriimek_Specified: boolean;
    Fdob: string;
    Fdob_Specified: boolean;
    Fletnik: Integer;
    Fletnik_Specified: boolean;
    Fulica: string;
    Fulica_Specified: boolean;
    Fzip: string;
    Fzip_Specified: boolean;
    Fkraj: string;
    Fkraj_Specified: boolean;
    Fspol: string;
    Fspol_Specified: boolean;
    Ftelefon: string;
    Ftelefon_Specified: boolean;
    procedure Setime(Index: Integer; const Astring: string);
    function  ime_Specified(Index: Integer): boolean;
    procedure Setpriimek(Index: Integer; const Astring: string);
    function  priimek_Specified(Index: Integer): boolean;
    procedure Setdob(Index: Integer; const Astring: string);
    function  dob_Specified(Index: Integer): boolean;
    procedure Setletnik(Index: Integer; const AInteger: Integer);
    function  letnik_Specified(Index: Integer): boolean;
    procedure Setulica(Index: Integer; const Astring: string);
    function  ulica_Specified(Index: Integer): boolean;
    procedure Setzip(Index: Integer; const Astring: string);
    function  zip_Specified(Index: Integer): boolean;
    procedure Setkraj(Index: Integer; const Astring: string);
    function  kraj_Specified(Index: Integer): boolean;
    procedure Setspol(Index: Integer; const Astring: string);
    function  spol_Specified(Index: Integer): boolean;
    procedure Settelefon(Index: Integer; const Astring: string);
    function  telefon_Specified(Index: Integer): boolean;
  published
    property ime:     string   Index (IS_OPTN or IS_UNQL) read Fime write Setime stored ime_Specified;
    property priimek: string   Index (IS_OPTN or IS_UNQL) read Fpriimek write Setpriimek stored priimek_Specified;
    property dob:     string   Index (IS_OPTN or IS_UNQL) read Fdob write Setdob stored dob_Specified;
    property letnik:  Integer  Index (IS_OPTN or IS_UNQL) read Fletnik write Setletnik stored letnik_Specified;
    property ulica:   string   Index (IS_OPTN or IS_UNQL) read Fulica write Setulica stored ulica_Specified;
    property zip:     string   Index (IS_OPTN or IS_UNQL) read Fzip write Setzip stored zip_Specified;
    property kraj:    string   Index (IS_OPTN or IS_UNQL) read Fkraj write Setkraj stored kraj_Specified;
    property spol:    string   Index (IS_OPTN or IS_UNQL) read Fspol write Setspol stored spol_Specified;
    property telefon: string   Index (IS_OPTN or IS_UNQL) read Ftelefon write Settelefon stored telefon_Specified;
  end;



  // ************************************************************************ //
  // XML       : organizacijaRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  organizacijaRow = class(TRemotable)
  private
    Fid: Integer;
    Fnaziv: string;
    Flastupdate: string;
  published
    property id:         Integer  Index (IS_UNQL) read Fid write Fid;
    property naziv:      string   Index (IS_UNQL) read Fnaziv write Fnaziv;
    property lastupdate: string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : getPomoc, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getPomoc = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : getRezultat, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getRezultat = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;

  getRezultatResponse = array of rezultatRow;   { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : getRezultat_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getRezultat_fault = class(ERemotableException)
  private
    FgetRezultat_fault: string;
  published
    property getRezultat_fault: string  Index (IS_UNQL) read FgetRezultat_fault write FgetRezultat_fault;
  end;



  // ************************************************************************ //
  // XML       : namenRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  namenRow = class(TRemotable)
  private
    Fid: Integer;
    Fnaziv: string;
    Flastupdate: string;
  published
    property id:         Integer  Index (IS_UNQL) read Fid write Fid;
    property naziv:      string   Index (IS_UNQL) read Fnaziv write Fnaziv;
    property lastupdate: string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : pomocRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  pomocRow = class(TRemotable)
  private
    Fid: Integer;
    Fnaziv: string;
    Flastupdate: string;
  published
    property id:         Integer  Index (IS_UNQL) read Fid write Fid;
    property naziv:      string   Index (IS_UNQL) read Fnaziv write Fnaziv;
    property lastupdate: string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : rezultatRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  rezultatRow = class(TRemotable)
  private
    Fid: Integer;
    Fnaziv: string;
    Flastupdate: string;
  published
    property id:         Integer  Index (IS_UNQL) read Fid write Fid;
    property naziv:      string   Index (IS_UNQL) read Fnaziv write Fnaziv;
    property lastupdate: string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;

  getPomocResponse = array of pomocRow;         { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : getPomoc_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getPomoc_fault = class(ERemotableException)
  private
    FgetPomoc_fault: string;
  published
    property getPomoc_fault: string  Index (IS_UNQL) read FgetPomoc_fault write FgetPomoc_fault;
  end;



  // ************************************************************************ //
  // XML       : obiskPomocRow, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  obiskPomocRow = class(TRemotable)
  private
    Fid: Integer;
    Fopis: string;
    Fopomba: string;
    Fdatum_predviden: string;
    Fprisla: Boolean;
    Fzadovoljiva: Boolean;
    Fid_obisk: Integer;
    Fid_pomoc: Integer;
    Fid_organizacija: Integer;
    Flastupdate: string;
  published
    property id:              Integer  Index (IS_UNQL) read Fid write Fid;
    property opis:            string   Index (IS_UNQL) read Fopis write Fopis;
    property opomba:          string   Index (IS_UNQL) read Fopomba write Fopomba;
    property datum_predviden: string   Index (IS_UNQL) read Fdatum_predviden write Fdatum_predviden;
    property prisla:          Boolean  Index (IS_UNQL) read Fprisla write Fprisla;
    property zadovoljiva:     Boolean  Index (IS_UNQL) read Fzadovoljiva write Fzadovoljiva;
    property id_obisk:        Integer  Index (IS_UNQL) read Fid_obisk write Fid_obisk;
    property id_pomoc:        Integer  Index (IS_UNQL) read Fid_pomoc write Fid_pomoc;
    property id_organizacija: Integer  Index (IS_UNQL) read Fid_organizacija write Fid_organizacija;
    property lastupdate:      string   Index (IS_UNQL) read Flastupdate write Flastupdate;
  end;



  // ************************************************************************ //
  // XML       : sendAnketiranecResponse, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  sendAnketiranecResponse = class(TRemotable)
  private
    Fsuccess: Boolean;
  published
    property success: Boolean  Index (IS_UNQL) read Fsuccess write Fsuccess;
  end;



  // ************************************************************************ //
  // XML       : getVprasOdg, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getVprasOdg = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;

  getVprasOdgResponse = array of vprasOdgRow;   { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : getVprasOdg_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getVprasOdg_fault = class(ERemotableException)
  private
    FgetVprasOdg_fault: string;
  published
    property getVprasOdg_fault: string  Index (IS_UNQL) read FgetVprasOdg_fault write FgetVprasOdg_fault;
  end;



  // ************************************************************************ //
  // XML       : getPoglVpras_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getPoglVpras_fault = class(ERemotableException)
  private
    FgetPoglVpras_fault: string;
  published
    property getPoglVpras_fault: string  Index (IS_UNQL) read FgetPoglVpras_fault write FgetPoglVpras_fault;
  end;



  // ************************************************************************ //
  // XML       : getUporabnik_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getUporabnik_fault = class(ERemotableException)
  private
    FgetUporabnik_fault: string;
  published
    property getUporabnik_fault: string  Index (IS_UNQL) read FgetUporabnik_fault write FgetUporabnik_fault;
  end;

  getUporabnikResponse = array of uporabnikRow;   { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : sendUporabnik, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  sendUporabnik = class(TRemotable)
  private
    FdataItem: getUporabnikResponse;
    FclientId: string;
  public
    destructor Destroy; override;
  published
    property dataItem: getUporabnikResponse  Index (IS_UNBD or IS_UNQL) read FdataItem write FdataItem;
    property clientId: string                Index (IS_UNQL) read FclientId write FclientId;
  end;

  getAnketiranecResponse = array of anketiranecRow;   { "http://www.a-soft.si/BoproSOAP/"[GblElm] }


  // ************************************************************************ //
  // XML       : getAnketiranec_fault, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // Info      : Fault
  // ************************************************************************ //
  getAnketiranec_fault = class(ERemotableException)
  private
    FgetAnketiranec_fault: string;
  published
    property getAnketiranec_fault: string  Index (IS_UNQL) read FgetAnketiranec_fault write FgetAnketiranec_fault;
  end;



  // ************************************************************************ //
  // XML       : sendAnketiranec, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  sendAnketiranec = class(TRemotable)
  private
    FdataItem: getAnketiranecResponse;
    FclientId: string;
  public
    destructor Destroy; override;
  published
    property dataItem: getAnketiranecResponse  Index (IS_UNBD or IS_UNQL) read FdataItem write FdataItem;
    property clientId: string                  Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : getUporabnik, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getUporabnik = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;



  // ************************************************************************ //
  // XML       : AnketiranecSearchResult, global, <complexType>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  AnketiranecSearchResult = class(TRemotable)
  private
    FnumberOfItems: Integer;
    FdataItem: anketiranecRow;
  public
    destructor Destroy; override;
  published
    property numberOfItems: Integer         Index (IS_UNQL) read FnumberOfItems write FnumberOfItems;
    property dataItem:      anketiranecRow  Index (IS_UNQL) read FdataItem write FdataItem;
  end;



  // ************************************************************************ //
  // XML       : getAnketiranec, global, <element>
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // ************************************************************************ //
  getAnketiranec = class(TRemotable)
  private
    FlocalTimestamp: string;
    FclientId: string;
  published
    property localTimestamp: string  Index (IS_UNQL) read FlocalTimestamp write FlocalTimestamp;
    property clientId:       string  Index (IS_UNQL) read FclientId write FclientId;
  end;


  // ************************************************************************ //
  // Namespace : http://www.a-soft.si/BoproSOAP/
  // soapAction: http://www.a-soft.si/BoproSOAP/%operationName%
  // transport : http://schemas.xmlsoap.org/soap/http
  // style     : document
  // use       : literal
  // binding   : ServiceSOAP
  // service   : Service
  // port      : ServiceSOAP
  // URL       : http://10.100.200.101:9082/BoproSyncServices/Service
  // ************************************************************************ //
  Service = interface(IInvokable)
  ['{9BEE70B7-D7B3-D259-1474-1E48B37E8169}']
    function  getUporabnik(const parameters: getUporabnik): getUporabnikResponse; stdcall;
    function  sendUporabnik(const parameters: sendUporabnik): sendUporabnikResponse; stdcall;
    function  getPosta(const parameters: getPosta): getPostaResponse; stdcall;
    function  getDrustvo(const parameters: getDrustvo): getDrustvoResponse; stdcall;
    function  getOdgovor(const parameters: getOdgovor): getOdgovorResponse; stdcall;
    function  getVprasanje(const parameters: getVprasanje): getVprasanjeResponse; stdcall;
    function  getPoglavje(const parameters: getPoglavje): getPoglavjeResponse; stdcall;
    function  getAnketa(const parameters: getAnketa): getAnketaResponse; stdcall;
    function  getAnkPogl(const parameters: getAnkPogl): getAnkPoglResponse; stdcall;
    function  getPoglVpras(const parameters: getPoglVpras): getPoglVprasResponse; stdcall;
    function  getVprasOdg(const parameters: getVprasOdg): getVprasOdgResponse; stdcall;
    function  getAnketiranec(const parameters: getAnketiranec): getAnketiranecResponse; stdcall;
    function  sendAnketiranec(const parameters: sendAnketiranec): sendAnketiranecResponse; stdcall;
    function  getRezultat(const parameters: getRezultat): getRezultatResponse; stdcall;
    function  getPomoc(const parameters: getPomoc): getPomocResponse; stdcall;
    function  sendIzpAnketa(const parameters: sendIzpAnketa): sendIzpAnketaResponse; stdcall;
    function  getIzpAnketa(const parameters: getIzpAnketa): getIzpAnketaResponse; stdcall;
    function  getOrganizacija(const parameters: getOrganizacija): getOrganizacijaResponse; stdcall;
    function  getNamen(const parameters: getNamen): getNamenResponse; stdcall;
    function  getObisk(const parameters: getObisk): getObiskResponse; stdcall;
    function  sendObisk(const parameters: sendObisk): sendObiskResponse; stdcall;
    function  getObiskPomoc(const parameters: getObiskPomoc): getObiskPomocResponse; stdcall;
    function  sendObiskPomoc(const parameters: sendObiskPomoc): sendObiskPomocResponse; stdcall;
    function  getAnketiranecByCriterion(const parameters: getAnketiranecByCriterion): getAnketiranecByCriterionResponse; stdcall;
    function  getLastIzpAnketa(const parameters: getLastIzpAnketa): getLastIzpAnketaResponse; stdcall;
  end;

function GetService(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): Service;


implementation
  uses SysUtils;

function GetService(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): Service;
const
  defWSDL = 'Service.wsdl';
  defURL  = 'http://10.100.200.101:9082/BoproSyncServices/Service';
  defSvc  = 'Service';
  defPrt  = 'ServiceSOAP';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as Service);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;


destructor getOrganizacijaResponse.Destroy;
begin
  SysUtils.FreeAndNil(FdataItem);
  inherited Destroy;
end;

destructor getNamenResponse.Destroy;
begin
  SysUtils.FreeAndNil(FdataItem);
  inherited Destroy;
end;

destructor getAnketiranecByCriterionResponse.Destroy;
begin
  SysUtils.FreeAndNil(Fresult);
  inherited Destroy;
end;

destructor sendIzpAnketa.Destroy;
var
  I: Integer;
begin
  for I := 0 to System.Length(FdataItem)-1 do
    SysUtils.FreeAndNil(FdataItem[I]);
  System.SetLength(FdataItem, 0);
  inherited Destroy;
end;

destructor getAnketiranecByCriterion.Destroy;
begin
  SysUtils.FreeAndNil(Fcriterion);
  inherited Destroy;
end;

destructor getLastIzpAnketaResponse.Destroy;
begin
  SysUtils.FreeAndNil(Fresult);
  inherited Destroy;
end;

destructor izpAnketaRow.Destroy;
var
  I: Integer;
begin
  for I := 0 to System.Length(FizpOdgovori)-1 do
    SysUtils.FreeAndNil(FizpOdgovori[I]);
  System.SetLength(FizpOdgovori, 0);
  inherited Destroy;
end;

procedure izpAnketaRow.SetizpOdgovori(Index: Integer; const AArray_Of_izpOdgovorRow: Array_Of_izpOdgovorRow);
begin
  FizpOdgovori := AArray_Of_izpOdgovorRow;
  FizpOdgovori_Specified := True;
end;

function izpAnketaRow.izpOdgovori_Specified(Index: Integer): boolean;
begin
  Result := FizpOdgovori_Specified;
end;

destructor sendObisk.Destroy;
var
  I: Integer;
begin
  for I := 0 to System.Length(FdataItem)-1 do
    SysUtils.FreeAndNil(FdataItem[I]);
  System.SetLength(FdataItem, 0);
  inherited Destroy;
end;

destructor getObiskResponse.Destroy;
begin
  SysUtils.FreeAndNil(FdataItem);
  inherited Destroy;
end;

destructor sendObiskPomoc.Destroy;
var
  I: Integer;
begin
  for I := 0 to System.Length(FdataItem)-1 do
    SysUtils.FreeAndNil(FdataItem[I]);
  System.SetLength(FdataItem, 0);
  inherited Destroy;
end;

destructor getObiskPomocResponse.Destroy;
begin
  SysUtils.FreeAndNil(FdataItem);
  inherited Destroy;
end;

destructor getPostaResponse.Destroy;
begin
  SysUtils.FreeAndNil(FdataItem);
  inherited Destroy;
end;

procedure AnketiranecCriterion.Setime(Index: Integer; const Astring: string);
begin
  Fime := Astring;
  Fime_Specified := True;
end;

function AnketiranecCriterion.ime_Specified(Index: Integer): boolean;
begin
  Result := Fime_Specified;
end;

procedure AnketiranecCriterion.Setpriimek(Index: Integer; const Astring: string);
begin
  Fpriimek := Astring;
  Fpriimek_Specified := True;
end;

function AnketiranecCriterion.priimek_Specified(Index: Integer): boolean;
begin
  Result := Fpriimek_Specified;
end;

procedure AnketiranecCriterion.Setdob(Index: Integer; const Astring: string);
begin
  Fdob := Astring;
  Fdob_Specified := True;
end;

function AnketiranecCriterion.dob_Specified(Index: Integer): boolean;
begin
  Result := Fdob_Specified;
end;

procedure AnketiranecCriterion.Setletnik(Index: Integer; const AInteger: Integer);
begin
  Fletnik := AInteger;
  Fletnik_Specified := True;
end;

function AnketiranecCriterion.letnik_Specified(Index: Integer): boolean;
begin
  Result := Fletnik_Specified;
end;

procedure AnketiranecCriterion.Setulica(Index: Integer; const Astring: string);
begin
  Fulica := Astring;
  Fulica_Specified := True;
end;

function AnketiranecCriterion.ulica_Specified(Index: Integer): boolean;
begin
  Result := Fulica_Specified;
end;

procedure AnketiranecCriterion.Setzip(Index: Integer; const Astring: string);
begin
  Fzip := Astring;
  Fzip_Specified := True;
end;

function AnketiranecCriterion.zip_Specified(Index: Integer): boolean;
begin
  Result := Fzip_Specified;
end;

procedure AnketiranecCriterion.Setkraj(Index: Integer; const Astring: string);
begin
  Fkraj := Astring;
  Fkraj_Specified := True;
end;

function AnketiranecCriterion.kraj_Specified(Index: Integer): boolean;
begin
  Result := Fkraj_Specified;
end;

procedure AnketiranecCriterion.Setspol(Index: Integer; const Astring: string);
begin
  Fspol := Astring;
  Fspol_Specified := True;
end;

function AnketiranecCriterion.spol_Specified(Index: Integer): boolean;
begin
  Result := Fspol_Specified;
end;

procedure AnketiranecCriterion.Settelefon(Index: Integer; const Astring: string);
begin
  Ftelefon := Astring;
  Ftelefon_Specified := True;
end;

function AnketiranecCriterion.telefon_Specified(Index: Integer): boolean;
begin
  Result := Ftelefon_Specified;
end;

destructor sendUporabnik.Destroy;
var
  I: Integer;
begin
  for I := 0 to System.Length(FdataItem)-1 do
    SysUtils.FreeAndNil(FdataItem[I]);
  System.SetLength(FdataItem, 0);
  inherited Destroy;
end;

destructor sendAnketiranec.Destroy;
var
  I: Integer;
begin
  for I := 0 to System.Length(FdataItem)-1 do
    SysUtils.FreeAndNil(FdataItem[I]);
  System.SetLength(FdataItem, 0);
  inherited Destroy;
end;

destructor AnketiranecSearchResult.Destroy;
begin
  SysUtils.FreeAndNil(FdataItem);
  inherited Destroy;
end;

initialization
  { Service }
  InvRegistry.RegisterInterface(TypeInfo(Service), 'http://www.a-soft.si/BoproSOAP/', 'UTF-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(Service), 'http://www.a-soft.si/BoproSOAP/%operationName%');
  InvRegistry.RegisterInvokeOptions(TypeInfo(Service), ioDocument);
  InvRegistry.RegisterInvokeOptions(TypeInfo(Service), ioLiteral);
  { Service.getUporabnik }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getUporabnik', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getDrustvo }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getDrustvo', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getOdgovor }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getOdgovor', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getVprasanje }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getVprasanje', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getPoglavje }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getPoglavje', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getAnketa }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getAnketa', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getAnkPogl }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getAnkPogl', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getPoglVpras }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getPoglVpras', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getVprasOdg }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getVprasOdg', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getAnketiranec }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getAnketiranec', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getRezultat }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getRezultat', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getPomoc }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getPomoc', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  { Service.getIzpAnketa }
  InvRegistry.RegisterParamInfo(TypeInfo(Service), 'getIzpAnketa', 'parameters', '',
                                '[ArrayItemName="dataItem"]');
  RemClassRegistry.RegisterXSClass(getOrganizacijaResponse, 'http://www.a-soft.si/BoproSOAP/', 'getOrganizacijaResponse');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getIzpAnketaResponse), 'http://www.a-soft.si/BoproSOAP/', 'getIzpAnketaResponse');
  RemClassRegistry.RegisterXSClass(sendIzpAnketaResponse, 'http://www.a-soft.si/BoproSOAP/', 'sendIzpAnketaResponse');
  RemClassRegistry.RegisterXSClass(getNamenResponse, 'http://www.a-soft.si/BoproSOAP/', 'getNamenResponse');
  RemClassRegistry.RegisterXSClass(getAnketiranecByCriterionResponse, 'http://www.a-soft.si/BoproSOAP/', 'getAnketiranecByCriterionResponse');
  RemClassRegistry.RegisterXSClass(getAnketiranecByCriterion_fault, 'http://www.a-soft.si/BoproSOAP/', 'getAnketiranecByCriterion_fault');
  RemClassRegistry.RegisterXSClass(sendIzpAnketa_fault, 'http://www.a-soft.si/BoproSOAP/', 'sendIzpAnketa_fault');
  RemClassRegistry.RegisterXSClass(sendAnketiranec_fault, 'http://www.a-soft.si/BoproSOAP/', 'sendAnketiranec_fault');
  RemClassRegistry.RegisterXSClass(getIzpAnketa, 'http://www.a-soft.si/BoproSOAP/', 'getIzpAnketa');
  RemClassRegistry.RegisterXSClass(sendIzpAnketa, 'http://www.a-soft.si/BoproSOAP/', 'sendIzpAnketa');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(sendIzpAnketa), 'dataItem', '[ArrayItemName="dataItem"]');
  RemClassRegistry.RegisterXSClass(getOrganizacija, 'http://www.a-soft.si/BoproSOAP/', 'getOrganizacija');
  RemClassRegistry.RegisterXSClass(getIzpAnketa_fault, 'http://www.a-soft.si/BoproSOAP/', 'getIzpAnketa_fault');
  RemClassRegistry.RegisterXSClass(getNamen, 'http://www.a-soft.si/BoproSOAP/', 'getNamen');
  RemClassRegistry.RegisterXSClass(getOrganizacija_fault, 'http://www.a-soft.si/BoproSOAP/', 'getOrganizacija_fault');
  RemClassRegistry.RegisterXSClass(getAnketiranecByCriterion, 'http://www.a-soft.si/BoproSOAP/', 'getAnketiranecByCriterion');
  RemClassRegistry.RegisterXSClass(getLastIzpAnketa, 'http://www.a-soft.si/BoproSOAP/', 'getLastIzpAnketa');
  RemClassRegistry.RegisterXSClass(ankPoglRow, 'http://www.a-soft.si/BoproSOAP/', 'ankPoglRow');
  RemClassRegistry.RegisterXSClass(poglVprasRow, 'http://www.a-soft.si/BoproSOAP/', 'poglVprasRow');
  RemClassRegistry.RegisterXSClass(anketaRow, 'http://www.a-soft.si/BoproSOAP/', 'anketaRow');
  RemClassRegistry.RegisterXSClass(izpOdgovorRow, 'http://www.a-soft.si/BoproSOAP/', 'izpOdgovorRow');
  RemClassRegistry.RegisterXSClass(vprasOdgRow, 'http://www.a-soft.si/BoproSOAP/', 'vprasOdgRow');
  RemClassRegistry.RegisterXSClass(anketiranecRow, 'http://www.a-soft.si/BoproSOAP/', 'anketiranecRow');
  RemClassRegistry.RegisterXSClass(poglavjeRow, 'http://www.a-soft.si/BoproSOAP/', 'poglavjeRow');
  RemClassRegistry.RegisterXSClass(odgovorRow, 'http://www.a-soft.si/BoproSOAP/', 'odgovorRow');
  RemClassRegistry.RegisterXSClass(vprasanjeRow, 'http://www.a-soft.si/BoproSOAP/', 'vprasanjeRow');
  RemClassRegistry.RegisterXSClass(postaRow, 'http://www.a-soft.si/BoproSOAP/', 'postaRow');
  RemClassRegistry.RegisterXSClass(drustvoRow, 'http://www.a-soft.si/BoproSOAP/', 'drustvoRow');
  RemClassRegistry.RegisterXSClass(uporabnikRow, 'http://www.a-soft.si/BoproSOAP/', 'uporabnikRow');
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_obiskRow), 'http://www.a-soft.si/BoproSOAP/', 'Array_Of_obiskRow');
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_obiskPomocRow), 'http://www.a-soft.si/BoproSOAP/', 'Array_Of_obiskPomocRow');
  RemClassRegistry.RegisterXSClass(getLastIzpAnketaResponse, 'http://www.a-soft.si/BoproSOAP/', 'getLastIzpAnketaResponse');
  RemClassRegistry.RegisterXSClass(getLastIzpAnketa_fault, 'http://www.a-soft.si/BoproSOAP/', 'getLastIzpAnketa_fault');
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_izpOdgovorRow), 'http://www.a-soft.si/BoproSOAP/', 'Array_Of_izpOdgovorRow');
  RemClassRegistry.RegisterXSClass(izpAnketaRow, 'http://www.a-soft.si/BoproSOAP/', 'izpAnketaRow');
  RemClassRegistry.RegisterXSClass(sendObiskPomoc_fault, 'http://www.a-soft.si/BoproSOAP/', 'sendObiskPomoc_fault');
  RemClassRegistry.RegisterXSClass(getObisk_fault, 'http://www.a-soft.si/BoproSOAP/', 'getObisk_fault');
  RemClassRegistry.RegisterXSClass(sendObisk, 'http://www.a-soft.si/BoproSOAP/', 'sendObisk');
  RemClassRegistry.RegisterXSClass(sendObiskResponse, 'http://www.a-soft.si/BoproSOAP/', 'sendObiskResponse');
  RemClassRegistry.RegisterXSClass(getNamen_fault, 'http://www.a-soft.si/BoproSOAP/', 'getNamen_fault');
  RemClassRegistry.RegisterXSClass(getObisk, 'http://www.a-soft.si/BoproSOAP/', 'getObisk');
  RemClassRegistry.RegisterXSClass(getObiskResponse, 'http://www.a-soft.si/BoproSOAP/', 'getObiskResponse');
  RemClassRegistry.RegisterXSClass(getObiskPomoc_fault, 'http://www.a-soft.si/BoproSOAP/', 'getObiskPomoc_fault');
  RemClassRegistry.RegisterXSClass(sendObiskPomoc, 'http://www.a-soft.si/BoproSOAP/', 'sendObiskPomoc');
  RemClassRegistry.RegisterXSClass(sendObiskPomocResponse, 'http://www.a-soft.si/BoproSOAP/', 'sendObiskPomocResponse');
  RemClassRegistry.RegisterXSClass(sendObisk_fault, 'http://www.a-soft.si/BoproSOAP/', 'sendObisk_fault');
  RemClassRegistry.RegisterXSClass(getObiskPomoc, 'http://www.a-soft.si/BoproSOAP/', 'getObiskPomoc');
  RemClassRegistry.RegisterXSClass(getObiskPomocResponse, 'http://www.a-soft.si/BoproSOAP/', 'getObiskPomocResponse');
  RemClassRegistry.RegisterXSClass(obiskRow, 'http://www.a-soft.si/BoproSOAP/', 'obiskRow');
  RemClassRegistry.RegisterXSClass(getAnketa, 'http://www.a-soft.si/BoproSOAP/', 'getAnketa');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getAnketaResponse), 'http://www.a-soft.si/BoproSOAP/', 'getAnketaResponse');
  RemClassRegistry.RegisterXSClass(getAnketa_fault, 'http://www.a-soft.si/BoproSOAP/', 'getAnketa_fault');
  RemClassRegistry.RegisterXSClass(getPoglavje, 'http://www.a-soft.si/BoproSOAP/', 'getPoglavje');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getPoglavjeResponse), 'http://www.a-soft.si/BoproSOAP/', 'getPoglavjeResponse');
  RemClassRegistry.RegisterXSClass(getPoglavje_fault, 'http://www.a-soft.si/BoproSOAP/', 'getPoglavje_fault');
  RemClassRegistry.RegisterXSClass(sendUporabnikResponse, 'http://www.a-soft.si/BoproSOAP/', 'sendUporabnikResponse');
  RemClassRegistry.RegisterXSClass(getPoglVpras, 'http://www.a-soft.si/BoproSOAP/', 'getPoglVpras');
  RemClassRegistry.RegisterXSClass(getAnkPogl, 'http://www.a-soft.si/BoproSOAP/', 'getAnkPogl');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getAnkPoglResponse), 'http://www.a-soft.si/BoproSOAP/', 'getAnkPoglResponse');
  RemClassRegistry.RegisterXSClass(getAnkPogl_fault, 'http://www.a-soft.si/BoproSOAP/', 'getAnkPogl_fault');
  RemClassRegistry.RegisterXSClass(sendUporabnik_fault, 'http://www.a-soft.si/BoproSOAP/', 'sendUporabnik_fault');
  RemClassRegistry.RegisterXSClass(getOdgovor, 'http://www.a-soft.si/BoproSOAP/', 'getOdgovor');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getOdgovorResponse), 'http://www.a-soft.si/BoproSOAP/', 'getOdgovorResponse');
  RemClassRegistry.RegisterXSClass(getOdgovor_fault, 'http://www.a-soft.si/BoproSOAP/', 'getOdgovor_fault');
  RemClassRegistry.RegisterXSClass(getDrustvo, 'http://www.a-soft.si/BoproSOAP/', 'getDrustvo');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getDrustvoResponse), 'http://www.a-soft.si/BoproSOAP/', 'getDrustvoResponse');
  RemClassRegistry.RegisterXSClass(getDrustvo_fault, 'http://www.a-soft.si/BoproSOAP/', 'getDrustvo_fault');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getVprasanjeResponse), 'http://www.a-soft.si/BoproSOAP/', 'getVprasanjeResponse');
  RemClassRegistry.RegisterXSClass(getVprasanje_fault, 'http://www.a-soft.si/BoproSOAP/', 'getVprasanje_fault');
  RemClassRegistry.RegisterXSClass(getPosta, 'http://www.a-soft.si/BoproSOAP/', 'getPosta');
  RemClassRegistry.RegisterXSClass(getPosta_fault, 'http://www.a-soft.si/BoproSOAP/', 'getPosta_fault');
  RemClassRegistry.RegisterXSClass(getPostaResponse, 'http://www.a-soft.si/BoproSOAP/', 'getPostaResponse');
  RemClassRegistry.RegisterXSClass(getVprasanje, 'http://www.a-soft.si/BoproSOAP/', 'getVprasanje');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getPoglVprasResponse), 'http://www.a-soft.si/BoproSOAP/', 'getPoglVprasResponse');
  RemClassRegistry.RegisterXSClass(AnketiranecCriterion, 'http://www.a-soft.si/BoproSOAP/', 'AnketiranecCriterion');
  RemClassRegistry.RegisterXSClass(organizacijaRow, 'http://www.a-soft.si/BoproSOAP/', 'organizacijaRow');
  RemClassRegistry.RegisterXSClass(getPomoc, 'http://www.a-soft.si/BoproSOAP/', 'getPomoc');
  RemClassRegistry.RegisterXSClass(getRezultat, 'http://www.a-soft.si/BoproSOAP/', 'getRezultat');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getRezultatResponse), 'http://www.a-soft.si/BoproSOAP/', 'getRezultatResponse');
  RemClassRegistry.RegisterXSClass(getRezultat_fault, 'http://www.a-soft.si/BoproSOAP/', 'getRezultat_fault');
  RemClassRegistry.RegisterXSClass(namenRow, 'http://www.a-soft.si/BoproSOAP/', 'namenRow');
  RemClassRegistry.RegisterXSClass(pomocRow, 'http://www.a-soft.si/BoproSOAP/', 'pomocRow');
  RemClassRegistry.RegisterXSClass(rezultatRow, 'http://www.a-soft.si/BoproSOAP/', 'rezultatRow');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getPomocResponse), 'http://www.a-soft.si/BoproSOAP/', 'getPomocResponse');
  RemClassRegistry.RegisterXSClass(getPomoc_fault, 'http://www.a-soft.si/BoproSOAP/', 'getPomoc_fault');
  RemClassRegistry.RegisterXSClass(obiskPomocRow, 'http://www.a-soft.si/BoproSOAP/', 'obiskPomocRow');
  RemClassRegistry.RegisterXSClass(sendAnketiranecResponse, 'http://www.a-soft.si/BoproSOAP/', 'sendAnketiranecResponse');
  RemClassRegistry.RegisterXSClass(getVprasOdg, 'http://www.a-soft.si/BoproSOAP/', 'getVprasOdg');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getVprasOdgResponse), 'http://www.a-soft.si/BoproSOAP/', 'getVprasOdgResponse');
  RemClassRegistry.RegisterXSClass(getVprasOdg_fault, 'http://www.a-soft.si/BoproSOAP/', 'getVprasOdg_fault');
  RemClassRegistry.RegisterXSClass(getPoglVpras_fault, 'http://www.a-soft.si/BoproSOAP/', 'getPoglVpras_fault');
  RemClassRegistry.RegisterXSClass(getUporabnik_fault, 'http://www.a-soft.si/BoproSOAP/', 'getUporabnik_fault');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getUporabnikResponse), 'http://www.a-soft.si/BoproSOAP/', 'getUporabnikResponse');
  RemClassRegistry.RegisterXSClass(sendUporabnik, 'http://www.a-soft.si/BoproSOAP/', 'sendUporabnik');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(sendUporabnik), 'dataItem', '[ArrayItemName="dataItem"]');
  RemClassRegistry.RegisterXSInfo(TypeInfo(getAnketiranecResponse), 'http://www.a-soft.si/BoproSOAP/', 'getAnketiranecResponse');
  RemClassRegistry.RegisterXSClass(getAnketiranec_fault, 'http://www.a-soft.si/BoproSOAP/', 'getAnketiranec_fault');
  RemClassRegistry.RegisterXSClass(sendAnketiranec, 'http://www.a-soft.si/BoproSOAP/', 'sendAnketiranec');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(sendAnketiranec), 'dataItem', '[ArrayItemName="dataItem"]');
  RemClassRegistry.RegisterXSClass(getUporabnik, 'http://www.a-soft.si/BoproSOAP/', 'getUporabnik');
  RemClassRegistry.RegisterXSClass(AnketiranecSearchResult, 'http://www.a-soft.si/BoproSOAP/', 'AnketiranecSearchResult');
  RemClassRegistry.RegisterXSClass(getAnketiranec, 'http://www.a-soft.si/BoproSOAP/', 'getAnketiranec');

end.
-------------------------------
0
Davor
10/20/2010 8:36:42 AM
Hello,

> Now I am a little bit confused because in both wsdl that I sent there is 
> the following info:
>
> <soap:binding style='document' 
> transport='http://schemas.xmlsoap.org/soap/http'/>
>
> but you said that
>> the service is an
>> rpc|literal service.
>
> My service has an Java Annotation that marks it as SoapBinding.DOCUMENT.
>
> I will wait for your tests and some advise.

Oops... my bad! I was looking at the first set of files (.xml in the .zip 
file) you sent:

{code}
<binding name="gerenciadorDocumentosBinding" 
type="tns:gerenciadorDocumentos">
  <soap:binding style="rpc" 
transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="adicionarPermissaoVisibilidade">
      <soap:operation soapAction=""/>
    <input>
        <soap:body namespace="xxxx" use="literal"/>
     </input>
{code}


I see that the newer .txt version is document|literal:

{code}
<binding name='gerenciadorDocumentosBinding' 
type='tns:gerenciadorDocumentos'>
  <soap:binding style='document' 
transport='http://schemas.xmlsoap.org/soap/http'/>
  <operation name='adicionarPermissaoVisibilidade'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body use='literal'/>
   </input>
{code}.

I'm about to head to a series of meetings now so I might not get to this 
today but I'll try to make some time for it soon and relay my findings.

Cheers,

Bruneau
0
Jean
10/20/2010 4:09:43 PM
Hello,

If you are getting the error about the '[' character not allowed to be used 
within a field name... this means that you are using the old runtime with 
code generated by the new importer. I briefly touched on that here but 
should really make this clearer:

      https://forums.codegear.com/message.jspa?messageID=290629#290629


The issue is that once Delphi has released a version, all subsequent updates 
for that version must retain the same interface. So I resumed working in 
this area after XE shipped and noticed that we had added API to register 
some additional information required for literal encoding but left out some 
other pieces required. In the ideal world I would update the registration 
API to take in new parameters... but that's not possible for XE... so 
instead I have to overload a particular parameter.  So where the API really 
expects an external name, I'm passing a string that contains many pieces of 
information, as in:

          '[name="xxxx", namespace="yyyy"]';

The updated/new runtime looks for '[' and knows how to deal with the above. 
The old runtime does not; it things the string represents the element's name 
and will pass it as-is to MSXML which will complain about the '[' character.

I really wish I could do this differently  [I could with a class helper but 
that would not work for C++: the runtime has to work for both Delphi and 
C++]... When I make the XE update available on Code Central I will attach a 
README that spells this out.

Please, use the new runtime and that should clear this error.

Cheers,

Bruneau
0
Jean
10/20/2010 5:36:51 PM
Bruneau,

thanks a lot, Your advice helped in not getting any errors on using '[' characters.

Another thing, that eats my bottom, is how the heck do I make Delphi / HTTPRIO / whoever / whatever, to put the namespace's name before Body part in XML, and then to use it on the object I am sending?

Here's the example, that works:

{code}
<?xml version="1.0"?>
<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:NS1="http://www.someserver.si/SomeSOAP/>
<SOAP-ENV:Body>

<NS1:sendAnketiranec>
<dataItem xmlns="">
<id>1011000794</id><stevilka></stevilka>
....
<lastupdate>20.10.2010 12:52:50</lastupdate>
</dataItem>
<clientId>01011</clientId>
</NS1:sendAnketiranec>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
{code}

And here is what I get from my code:

{code}
<?xml version="1.0"?>
<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body><
sendAnketiranec xmlns="http://www.someserver.si/SomeSOAP/">
<dataItem xmlns="">
<id>1011000794</id><stevilka></stevilka>
....
<lastupdate>20-10-2010 22:49:38</lastupdate>
</dataItem>
<clientId xmlns="">01011</clientId>
</sendAnketiranec></SOAP-ENV:Body></SOAP-ENV:Envelope>
{code}



I think it's got to do with some settings that I have wrong somewhere within my code.

Could You please help me, what to set and how to set it, to achieve wanted result, or at least direct me to some simple to understand literature, to learn it myself ... ?

Thank You very much!

Best regards,


Davor Tavcar
0
Davor
10/20/2010 9:12:15 PM
Hello,

Correct me if I'm missing something else but the difference I spot between 
the two are as follows:

{code}
<clientId>01011</clientId>
{code}

vs.

{code}
<clientId xmlns="">01011</clientId>
{code}


This means that 'clientId' should have been marked as unqualified. If it's a 
property then it needs the IS_UNQL on the index, as in:

{code}
    property clientId:                    <type>                  Index 
(IS_UNQL) read Fxxxx write Fxxxx;
{code}


If the above does not help, can you post the binding generated by the WSDL 
importer? Thank you.

Cheers,

Bruneau
0
Jean
10/21/2010 11:50:19 PM
Hello,

I finally had some time to look at the files you sent. And the issue, it 
seems, is related to unqualified elements. If I don't unwrap then the add 
request take the following:

{code}
  add2 = class(TRemotable)
  published
    property i: Integer  Index (IS_UNQL) read Fi write Fi;
    property j: Integer  Index (IS_UNQL) read Fj write Fj;
  end;
{code}

Once unwrapping is allowed, the add method becomes:

{code}
    function  add(const i: Integer; const j: Integer): Integer; stdcall;
{code}


Clearly, now Delphi SOAP no longer know whether 'i' and 'j' are qualified or 
not.

However, the new WSDL importer should register this information with the 
following calls:

{code}
  InvRegistry.RegisterParamInfo(TypeInfo(CalculatorWS), 'add', 'i', '',
                                '', IS_UNQL);
  InvRegistry.RegisterParamInfo(TypeInfo(CalculatorWS), 'add', 'j', '',
                                '', IS_UNQL);
{code}

These are new (IOW, the 'RegisterParamInfo' did not exist in earlier 
versions of the runtime). It's basically a way to tell the SOAP runtime that 
the parameter 'i' and 'j' of the 'add' method of the 'CalculatorWS' 
interface is unqualified. Does you binding contain these? If yes, are you 
linking against the updated runtime? If yes, I would expect the result of 
unwrapping or not unwrapping to be the same. IOW

{code}
<?xml version="1.0"?>
<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Body>
    <add xmlns="http://impl.ged.tjms.jus.br/">
      <i xmlns="">10</i>
      <j xmlns="">20</j>
    </add>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
{code}


If that's not what you're seeing, can you let me know? I'm happy to 
investigate some more but it seems to me that the issue is unqualified 
elements in the wrapper... specially since I know that earlier versions of 
the runtime did not handle that - requiring that unwrapping be disabled.

Cheers,

Bruneau
0
Jean
10/22/2010 12:13:05 AM
Hello Jean-Marie,

> {quote:title=Jean-Marie Babet wrote:}{quote}
> > 
> https://forums.embarcadero.com/thread.jspa?messageID=289458&tstart=0#289458
I have been watching this thread for a while as I am receiving the
Project SoapClient.exe raised exception class EPrivilege with message 'Priviliged instruction'.
message. Thanks for your knowledgeable responses, BTW.

I am replacing and XML-RPC interface with a SOAP/WSDL interface at the request of one of my clients. The only difference between the contents of this thread and what I am doing is that I am writing in C++ (there is quite a lot of 'C' too). I am new to this kind of interface so I have been following Bob Swart's Very Useful guide (http://www.ebob42.com/courseware/) and morphing it to C++ which worked until I hit this problem.
void __fastcall TSoapClientForm::Button1Click(TObject *Sender)
{
	IEcho *WS = GetIEcho(1, "", 0);
	UnicodeString MyFloat;

	if ( ! WS )
		MyFloat.sprintf(L"No IEcho Interface!");
	else
		MyFloat.sprintf(L"%f", WS->echoDouble((double)42)); /* Exception raised when this line is executed */
	ShowMessage( MyFloat );
}

I have downloaded your updated zip & WSDLImporter, replaced the importer in bin and overwritten the SOAP files in source\Win32\soap. Unsurprisingly AFAICT the new files are not being compiled and I am still getting the above message. So how to I integrate your patches so that I can make use of them in my C++ project? My environment is Embarcadero® RAD Studio 2010 Version 14.0.3615.26342.

Will this be rolled out as a part of a wider Rad Studio update anytime soon?

Looking forward to your reply,

Best regards, Paul.
0
Paul
10/29/2010 6:37:59 AM
> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> I've posted a new WSDL Importer (command line: WSDLImp.exe) and runtime 
> updates to the 'public.attachments' section. When time allows, please, 
> reimport your service with the new importer and link with the updated 
> runtime [make sure the updated runtime is in the unit search path before the 
> shipping bits; or add the files to your project].
> 
> Please, let me know if you run into problems. These changes have been 
> checked in but have not been verified by QA (the unit tests passed).
> 
> Cheers,
> 
> Bruneau


Hi Bruneau,
So sorry for the long delay in testing the updates and responding, very busy at work the past several weeks.
I have installed the updates to Delphi XE.
Reimported the service with the new WSDL Importer
Compiled with new SOAP source code.
Tested....
COMPLETE SUCCESS!! 
The "InvRegistry.RegisterInvokeOptions(TypeInfo(Service),ioDocument);" is in place and no "... exception class ERemotableException with message 'java.lang.NullPointerException"
Array Parameters are passed successfully.
The generated XML request is just as required for handling the array parameters as follows:

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<orderDataToThirdParty xmlns="http://kelman.com">
<itemIds xmlns="">186345-1</itemIds>
<itemIds xmlns="">186345-2</itemIds>
<itemIds xmlns="">186345-3</itemIds>
<itemIds xmlns="">186345-4</itemIds>
<outputFileNames xmlns="">186345-1.TIFF</outputFileNames>
<outputFileNames xmlns="">186345-2.TIFF</outputFileNames>
<outputFileNames xmlns="">186345-3.TIFF</outputFileNames>
<outputFileNames xmlns="">186345-4.TIFF</outputFileNames>
<emailAddresses xmlns="">hal@myemail.com</emailAddresses>
<priority xmlns="">20</priority>
<nodeId xmlns="">4529</nodeId>
<instructions xmlns="">Test new XE WSDL Importer and SOAP Runtime</instructions>
<userName xmlns="">myaccount</userName>
<password xmlns="">mypassword</password>
</orderDataToThirdParty>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

The updates provide a total solution in my case with Delphi XE.
Thanks so much for your efforts. Let me know if there is any further information you need from me.
Regards,
Hal
0
Hal
11/5/2010 8:09:50 AM
Hello,


>> https://forums.embarcadero.com/thread.jspa?messageID=289458&tstart=0#289458
> I have been watching this thread for a while as I am receiving the
> Project SoapClient.exe raised exception class EPrivilege with message 
> 'Priviliged instruction'.

The changes I made to the runtime do not address any EPrivilege exception. 
More on that below.


> I am replacing and XML-RPC interface with a SOAP/WSDL interface at the 
> request of one of my clients. The only difference between the contents of 
> this thread and what I am doing is that I am writing in C++ (there is 
> quite a lot of 'C' too). I am new to this kind of interface so I have been 
> following Bob Swart's Very Useful guide 
> (http://www.ebob42.com/courseware/) and morphing it to C++ which worked 
> until I hit this problem.
> void __fastcall TSoapClientForm::Button1Click(TObject *Sender)
> {
> IEcho *WS = GetIEcho(1, "", 0);

I suspect the problem to be right htere. The code above assigns the returned 
*smart* interface to a raw interface. This means that the smart-interface's 
destructor is invoked and the underlying object is destroyed... so the raw 
interface is pointing to an object that's already been destroyed.

You need to make sure to maintain a ref-count in the returned interface, as 
in:


> _di_IEcho WS = GetIEcho(false, "", 0);


NOTE: I'm also replacing the first parameter with 'false' as we don't 
recommend using the WSDL: it was necessary to do so back in D6/CBuilder6 
because the importer did not save away the SOAPAction/Namespace/etc and 
could compute them only if the other end was a Delphi/CBuilder service. 
However, that was remedied in a subsequent release.



> I have downloaded your updated zip & WSDLImporter, replaced the importer 
> in bin and overwritten the SOAP files in source\Win32\soap. Unsurprisingly 
> AFAICT the new files are not being compiled and I am still getting the 
> above message. So how to I integrate your patches so that I can make use 
> of them in my C++ project? My environment is Embarcadero® RAD Studio 2010 
> Version 14.0.3615.26342.

If you're using C++, you'll probably want to add the .pas files to your 
project directly or create a Delphi package for them and use the generate 
..hpp files and link with the generated .lib file.


Cheers,

Bruneau
0
Jean
11/8/2010 12:52:04 AM
Hello,

> I have installed the updates to Delphi XE.
> Reimported the service with the new WSDL Importer
> Compiled with new SOAP source code.
> Tested....
> COMPLETE SUCCESS!! 


Thank you for the follow-up post. Glad to hear things are working better.

Cheers,

Bruneau
0
Jean
11/8/2010 12:53:02 AM
Reply:

Similar Artilces:

Problems Consuming Delphi 2010 Webservices
Hi there, i created a simple test webservice in delphi 2010 and published it on an IIS Webserver. By consuming the wsdl in various clients (c#-client, intalio, soap-ui) there are a couple of problems. The +soapenc:arraType+ can not be found and so i can not consume my webservice with this clients. Consuming the wsdl by a delphi client works very well. To compare the wsdl files i created the same web service in visual studio 2010 (c#). Here the arrayType is supported and i can consume the wsdl in various clients. The functions of both web services are exactly the same. For comparison her...

Delphi send null string to webservice
Hi, I'm using my WebService from Delphi application, but, in my webservice, the parameter's value always get null [WebMethod]int ExecSQL(string ASQL){  // here, ASQL is null....hoooowww????  //do my query  return(AffectedRows);} I've been tried to use [SoapRpcMethod] but, with him, I cannot can load from Delphi my wsdl...I'm using RemObjects 3.0.3 Version thanks...

Delphi Webservice
Hello, I have created one webservice using indy TIdHTTPWebBrokerBridge and also created the client. Now I need to way to pass some file which will be reside on my server path to the client thorugh SOAP. The picture is as follows: 1) I have some fastreport files on the server 2) The client will show those report on the client side. There will be no fr3 files in the client side. Also I don't want to use FastReport Client/Server technology, as my client does not want this. 3) I don't want to save the fr3 files in the client side also. How to call this report from Client...

Java CFX Webservice and Delphi 2010
Hi, I'm struggling around with some problems calling my Java Webservice. As long as I use primitive datatypes, such as Strings, Integers etc. everything works fine. But when I try to use objects as parameters my java methods only receive null. So the mapping doesn't seem to work. I put up a simple example: Java Interface for Webservice {code} @WebService(name="TestService", targetNamespace=CNAPBackOffice.NAMESPACE_SERVICES) @SOAPBinding(style=SOAPBinding.Style.RPC, use=SOAPBinding.Use.LITERAL) public interface TestService { @WebMethod(operationName="sen...

Delphi 2010 WebService Array Parameter
Hi, I created a WebService that returns an array of a TRemotable object (Custom structure) with D2010. When the WS is consumed by a Delphi-Client everything works perfect. But when I try to consumed the WS from a MS_C#.net-Client I get errors telling me the xml structure is incorrect. Any help would be really appreciated. Cheers, Eduardo Hi Eduardo, > I created a WebService that returns an array of a TRemotable object (Custom > structure) with D2010. So do I ;-) > When the WS is consumed by a Delphi-Client everything works perfect. But > when I try to...

Delphi 2010: Webservice consumption HTTPS+NTLM
Hello, I'm looking urgently for a way to consume a webservice in delphi 2010, which is configured to use NTLM authorization over HTTPS. Are there some standard Delphi libraries, that I could use? I have tried following things: - WSDL import. It works like a charm, the classes can be successfully generated. The call to the WSDL description requires actually also the integrated windows authorization, but RadStudio can succsesfull pass through it. - Basic Authorization. Using multiple examples in the internet seems not to be a proper solution. I get an error ESOAPHTTPException "Unat...

to use a webservice or not to use a webservice?
hi folks, i have a web-based application that connects to a server for processing and then gets back the data from the server asynchonously to display to the user--specifically, the user identifies a product by answering coupla questions and then the program connects to a CAD server to generate models of the product to display to the user. creating the CAD files typically takes little over a minute or so...but i would like to know whether its a good idea to use a web-service to connect to the CAD server and then do the processing or whether remoting is a better way to do this. ...

Passing xmlrequest to webservice and getting response from the webservice by serialization in classes.
Hi All,      Iam try to pass the request to the webservice. I was told to send the request in the below format using classes n properties. I can't able to understand how it should be done. Plz help me in this. Can anyone explain it indetail. The code format should be : Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click           Dim objPropertyInfoRQ As PropertyInfoRequest = New PropertyInfoRequest        Dim objPropertyInfoRS As...

Webservice params aren't send to the webservice [Edit]
I'm triing to use the following deprecateEvent.. {code} AAANotificationService = interface(IInvokable) ['{BED4FBF9-E58D-A063-F1BC-C8AF16546DE2}'] function deprecateEvent(const consumerData: Variant; const idLocal: string; const idtodeprecate: string): string; stdcall; end; {code} to invoke the event i've written the following code: {code} response:=(HTTPRIO1 as AAANotificationService).deprecateEvent(XMLDoc.xml.Text,'0','1104'); {code} When I look the soap message in httprio beforeexecute event i find the following message... {code} ...

Delphi Webservices Application
I am trying to run a webservice client on Windows XP that accesses a server on windows server 2003. I get the following error: "Receieved content of invalid Content-Type setting: text/html - SOAP expects text/xml" when I call a function on the server. I don't get this error if both the server and client are running under windows xp. I have compiled both the client and server on windows XP with Delphi 7. What could be the cause of the error? Pier Pier Nardin wrote: > I am trying to run a webservice client on Windows XP that accesses a > server on windows s...

Newbie: Webservice to Webservice Communication : Help!
Hello, as my subject suggests I am a newbie developer and am currently working on a project that requires two webservices to communicate so that two client applications can interact. e.g. client program - Webservice - Webservice - client program The services are each hosted by seperate machines and I have them communicating. The problem is that one webservice that is always hosted and can run as a seperate entity. The other will vary in its up-time from permanantly available (and communicating) perhaps down to once a day for a few minutes in order to send and recieve updates to/from...

Dynamically invoking a webservice from another webservice
I have an issue while creating a dynamic proxy for a webservice passing a complex type as a parameter. So I just needed some help if any one can suggest some solution to get the rid of the issue. Here is a quick scenario detailing the issue:               I have a webservice ‘A’ having a method ‘Update’ which accepts a complex type ‘ComplexType’. Now I need a way to call the service ‘A’ dynamically from another web service say ‘B’ by providing URL of service ‘A’, method name & the ‘Complex’ type (shared type) parameter. ...

Calling a webservice from inside another webservice
I have a an Ajax enabled web service that needs to call a remote (on another domain) web service. So I setup the ajax service to call a local .asmx which then uses a "Web Reference" to the remote asmx. It calls the function in the remote asmx and executes just fine. The problem... 1.) First, am I doing this correctly? 2.) Reporting back is not working. Here's what I'm doing inside the locally called service: Dim ws As New WebReference.AjaxEnabledWebService Dim returnstatus as string="" ws.FunctionName(ParameterSendin1, ParameterSend...

C# webservices Vs Java WebServices
Hi, I have a group project in my School. And my team leader thinks that we should make the client in C# and Webservice in java. I am on the other hand in favour of C# webservices. Is there any advantages of making one webservice over the other. I think he is worried that C# webservices will be hard to consume by the java client and needs a lot of work. what do u guys think ?? Give me good reasons why should I choose C# webservices instead of java webservices or vice versa.HighOnCodingWanna get high! they both use the same interchange standard, so it doesn't really matter...

Web resources about - Delphi 2010 webservice consumer pass null strings to webservice [Edit] - embarcadero.delphi.webservices

webservices Articles, Posts, Blogs, Videos - Technorati
— Authority: The job consist in a PHP program that read a file, compose a message (email or sms) and call an API of email provider (Amazon SES) ...

Section: software:webservices
Wired.com © 2012 Condé Nast. All rights reserved. Use of this Site constitutes acceptance of our User Agreement (effective 3/21/12) and Privacy ...

Products - CrunchBase
Product profiles

App Search on Flickr - Application Sharing!
Flickr is almost certainly the best online photo management and sharing application in the world. Show off your favorite photos and videos to ...

Wikipedia:Press coverage 2005 - Wikipedia, the free encyclopedia
If you add an article, please cite both the title and the source. Note that if you're listing an article from a traditional press wire service ...

Entity–relationship model - Wikipedia, the free encyclopedia
In software engineering , an entity-relationship model ( ER model for short) is an abstract and conceptual representation of data . Entity-relationship ...

Entity-relationship model - Wikipedia, the free encyclopedia
In software engineering , an entity-relationship model ( ER model for short) is an abstract and conceptual representation of data . Entity-relationship ...

IT and Telecommunications Jobs in Melbourne Metro - MyCareer
Find IT and Telecommunications Jobs in Melbourne Metro on MyCareer. Fresh IT and Telecommunications Jobs posted daily. Free email alerts and ...

AWS Elastic Beanstalk: A Quick and Simple Way into the Cloud
Flexibility is one of the key principles of Amazon WebServices - developers can select any programming language and software package,any operating ...

How To Use the Amazon SDK for Android to Upload Photos to Amazon S3
This article demonstrates how to use the AWS SDK for Android to upload an image to Amazon Simple Storage Service (S3) from your mobile device ...

Resources last updated: 12/11/2015 4:11:26 AM