Board index » delphi » Consuming JAX RPC 1.1 web service

Consuming JAX RPC 1.1 web service


2005-08-12 02:41:41 AM
delphi74
Hello,
We have created a web service using JAX RPC 1.1. Now we are trying to
create a Delphi client to invoke methods in the web service.
This is causing us some 'Undeclared identifier' problems, and is
becoming quite urgent.
In the WSDL, the message: IWebservice_registerSystem is defined as
<message name="IWebservice_registerSystem">
<part name="args" element="ns:registerSystemArgs"/>
</message>
In the xsd is the registerSystemArgs element is defined as
<xsd:element name="registerSystemArgs">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ns:credentials"/>
<xsd:element name="TBD" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="systemRegistrationReceipt">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="TBD" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
The WSDL Importer has output the following type section.
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 Borland types; however,
they could also
// indicate incorrect WSDL documents that failed to declare or import
a schema type.
//
************************************************************************
//
// !:registerSystemArgs - "http://<>/types"
//
************************************************************************
//
// Namespace : http://<>/wsdl/Webservice
// transport : schemas.xmlsoap.org/soap/http
// style : document
// binding : IWebserviceBinding
// service : Webservice
// port : IWebservicePort
// URL : http://localhost:8080/Webservice
//
************************************************************************
//
IWebservice = interface(IInvokable)
['{770C3A64-BE14-01A6-A226-58D51A008028}']
function registerSystem(const args: registerSystemArgs):
systemRegistrationReceipt; stdcall;
end;
When I compile, Delphi complains it does not understand the
registerSystemArgs and systemRegistrationReceipt types.
Does Delphi 2005 Enterprise UPD 2, support using a JAX RPC 1.1 web
service? What are my options? What other information do you require?
Awaiting a reply.
Thanks & regards,
Ronan van Riet
 
 

Re:Consuming JAX RPC 1.1 web service

Hello,
We have created a web service using JAX RPC 1.1. Now we are trying to
create a Delphi client to invoke methods in the web service.
This is causing us some 'Undeclared identifier' problems, and is
becoming quite urgent.
In the WSDL, the message: IWebservice_registerSystem is defined as
<message name="IWebservice_registerSyst­em">
<part name="args" element="ns:registerSystemArgs?/>
</message>
In the xsd is the registerSystemArgs element is defined as
<xsd:element name="registerSystemArgs">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ns:credentials"/>
<xsd:element name="TBD" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="systemRegistrationReceip­t">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="TBD" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
The WSDL Importer has output the following type section.
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 Borland types; however,
they could also
// indicate incorrect WSDL documents that failed to declare or import
a schema type.
//
******************************?*****************************?***********
//
// !:registerSystemArgs - "http://<>/types"
//
******************************?*****************************?***********
//
// Namespace : http://<>/wsdl/Webservice
// transport : schemas.xmlsoap.org/soap/http
// style : document
// binding : IWebserviceBinding
// service : Webservice
// port : IWebservicePort
// URL : http://localhost:8080/Webservice
//
******************************?*****************************?***********
//
IWebservice = interface(IInvokable)
['{770C3A64-BE14-01A6-A226-58D?1A008028}']
function registerSystem(const args: registerSystemArgs):
systemRegistrationReceipt; stdcall;
end;
When I compile, Delphi complains it does not understand the
registerSystemArgs and systemRegistrationReceipt types.
Does Delphi 2005 Enterprise UPD 2, support using a JAX RPC 1.1 web
service? What are my options? What other information do you require?
Awaiting a reply.
Thanks & regards,
Ronan van Riet
 

Re:Consuming JAX RPC 1.1 web service

Ronan van Riet writes:
Quote
When I compile, Delphi complains it does not understand the
registerSystemArgs and systemRegistrationReceipt types.


Does Delphi 2005 Enterprise UPD 2, support using a JAX RPC 1.1 web
service? What are my options? What other information do you require?
Web services in general are supported, but sometimes there are problems
with certain implementations.
Can you tell me if registerSystemArgs and systemRegistrationReceipt
types are in a different file than the WSDL? If so, then the importer
will not work and you will have to define them manually.
--
Deepak Shenoy (TeamB)
shenoyatwork.blogspot.com
 

Re:Consuming JAX RPC 1.1 web service

Hello Deepak,
Thank you very much for getting back to me!
You are right that both registerSystemArgs and
systemRegistrationReceipt types are in an xsd file, which is linked in
from the WSDL.
<xsd:element name="registerSystemArgs">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ns:credentials"/>
<xsd:element name="TBD" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="systemRegistrationReceip­t">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="TBD" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
I do not know how to define/translate the above types into Delphi code.
Would it be possible to send me an example?
Thanks & regards,
Ronan van Riet
Deepak Shenoy (TeamB) schreef:
Quote
Web services in general are supported, but sometimes there are problems
with certain implementations.

Can you tell me if registerSystemArgs and systemRegistrationReceipt
types are in a different file than the WSDL? If so, then the importer
will not work and you will have to define them manually.



--
Deepak Shenoy (TeamB)
shenoyatwork.blogspot.com
 

Re:Consuming JAX RPC 1.1 web service

On 11 Aug 2005 11:41:41 -0700, XXXX@XXXXX.COM writes:
Quote
Awaiting a reply.
Hoi Ronan
Take a look here:
delphi.wikicities.com/wiki/Delphi_Newsgroups
 

Re:Consuming JAX RPC 1.1 web service

I am sorry for posting this twice. I was not getting that posts posted on
the google group did not come here and there should be one point of entry
(borland.public.delphi.webservices.soap)
---
Hello Deepak,
Thank you very much for getting back to me!
You are right that both registerSystemArgs and
systemRegistrationReceipt types are in an xsd file, which is linked in
from the WSDL.
<xsd:element name="registerSystemArgs">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ns:credentials"/>
<xsd:element name="TBD" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="systemRegistrationReceip­­t">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="TBD" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
I do not know how to define/translate the above types into Delphi code.
Would it be possible to send me an example?
Thanks & regards,
Ronan van Riet
"Deepak Shenoy (TeamB)" <XXXX@XXXXX.COM>writes
Quote
Ronan van Riet writes:

>When I compile, Delphi complains it does not understand the
>registerSystemArgs and systemRegistrationReceipt types.
>
>
>Does Delphi 2005 Enterprise UPD 2, support using a JAX RPC 1.1 web
>service? What are my options? What other information do you require?

Web services in general are supported, but sometimes there are problems
with certain implementations.

Can you tell me if registerSystemArgs and systemRegistrationReceipt
types are in a different file than the WSDL? If so, then the importer
will not work and you will have to define them manually.



--
Deepak Shenoy (TeamB)
shenoyatwork.blogspot.com
 

Re:Consuming JAX RPC 1.1 web service

Ronan van Riet writes:
Quote
You are right that both registerSystemArgs and
systemRegistrationReceipt types are in an xsd file, which is linked in
from the WSDL.
Looks like both are remotable types, and the definition in Delphi will
be something like:
registerSystemArgs = class(TRemotable)
published
property TBD: <sometype>...
end;
I don't know what the TBD type is or should be, it is not mentioned in
the snipped you sent, but you might have some other references.
--
Deepak Shenoy (TeamB)
shenoyatwork.blogspot.com
 

Re:Consuming JAX RPC 1.1 web service

Hello Deepak,
I used Delphi's XML Data Binder to generate the interface and class from the
XSD files. That resolved my issue.
Regards,
Ronan
"Deepak Shenoy (TeamB)" <XXXX@XXXXX.COM>writes
Quote
Looks like both are remotable types, and the definition in Delphi will
be something like:

registerSystemArgs = class(TRemotable)
published
property TBD: <sometype>...
end;

I don't know what the TBD type is or should be, it is not mentioned in
the snipped you sent, but you might have some other references.


--
Deepak Shenoy (TeamB)
shenoyatwork.blogspot.com