Tried that get the following:

On 06/08/12 11:21, [email protected] wrote:

Hi,

In the generated hello.pas, try changing  'literal' to 'document' in the
following calls:

  mm.SetOperationCustomData(
    sUNIT_NAME,
    'HelloWorldPortType',
    'hello',
    'FORMAT_Input_EncodingStyle',
    'literal'
  );
  mm.SetOperationCustomData(
    sUNIT_NAME,
    'HelloWorldPortType',
    'hello',
    'FORMAT_OutputEncodingStyle',
    'literal'
  );

Michael.

On Mon, 6 Aug 2012, Ian Godman wrote:

Hi

I have been having an issue with a "Hello World" web service.

The first issue was Lazarus throwing an error when processing the
response. This was chased down to  chunking. Having disabled the
chunking on the web-service no error is thrown. The trouble is now there
are no results either!

I have generated the Lazarus code using the Web Service Toolkit and
importing the WDSL (attached).

My code that makes use of the generated classes is:


program webservice;

{$mode objfpc}{$H+}

uses
 {$IFDEF UNIX}{$IFDEF UseCThreads}
 cthreads,
 {$ENDIF}{$ENDIF}
 Classes,
 { you can add units after this }
 hello, hello_proxy, soap_formatter, logger_extension,
 fpc_http_protocol;

{$R *.res}
var
 service : HelloWorldPortType;
 serviceText : hello_Type ;
 responce : helloResponse ;
begin
 FPC_RegisterHTTP_Transport();
 Register_hello_ServiceMetadata();
 WriteLn('Web Services Toolkit');
 WriteLn();
 service := wst_CreateInstance_HelloWorldPortType();
 serviceText:= hello_Type.create();
 serviceText.arg0:='fred_test';

 WriteLn( 'making service request' );
 responce:=service.hello(serviceText);
 if (responce=nil) then
    WriteLn( 'have NO service responce' )
 else
     WriteLn( 'have service responce' );
end.


The web service is written in Java and has a single string parameter
which is returned appended to the text "Hello ".

Example retuned (taken using SOAPUI)

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
     <ns1:helloResponse xmlns:ns1="http://example.org/">
        <ns1:return>Hello George</ns1:return>
     </ns1:helloResponse>
  </soap:Body>
</soap:Envelope>

With the chunking enabled I get an error referring to an unexpected
character before the '<' which suggests to me that the response is being
processed. But when the chunking is removed I no longer get the error
and the response is null.

Any ideas ?

I dont want to have to use C !




--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to