anchor.diff:  call(#wsdl{operations = Operations, model = Model}, Operation, Port, Service, Headers, Message) ->
       %% find the operation
       case findOperation(Operation, Port, Service, Operations) of
  -        #operation{address = URL, action = SoapAction} ->
  -            %% Add the Soap envelope
  -            Envelope = mk_envelope(Message, Headers),
  -            %% Encode the message
  -            case erlsom:write(Envelope, Model) of
  -                {ok, XmlMessage} ->
  -                    Request = make_request_body(XmlMessage),
  -                    HttpHeaders = [],
  -                    HttpClientOptions = [],
  -                    HttpRes = http_request(URL, SoapAction, Request, 
  +	#operation{address = URL, action = SoapAction} ->
  +	    %% Add the Soap envelope
  +	    Envelope = mk_envelope(Message, Headers),
  +	    %% Encode the message
  +	    case erlsom:write(Envelope, Model) of
  +		{ok, XmlMessage} ->
  +		    Request = make_request_body(XmlMessage),
  +		    HttpHeaders = [],
  +		    HttpClientOptions = [],
  +                    ?dbg("+++ Request = ~p~n", [Request]),
  +		    HttpRes = http_request(URL, SoapAction, Request, 
                                              HttpClientOptions, HttpHeaders),
  -                    case HttpRes of
  -                        {ok, _Code, _ReturnHeaders, Body} ->
  -                            parseMessage(Body, Model);
  -                        Error -> 
  -                            %in case of HTTP error: return {error, description}
  -                            Error
  -                    end;
  -                {error, EncodingError} ->
  -                    {error, {encoding_error, EncodingError}}
  -            end;
  -        false ->
  -            {error, {unknown_operation, Operation}}
  +                    ?dbg("+++ HttpRes = ~p~n", [HttpRes]),
  +		    case HttpRes of
  +			{ok, _Code, _ReturnHeaders, Body} ->
  +			    parseMessage(Body, Model);
  +			Error -> 
  +			    %% in case of HTTP error: return {error, description}
  +			    Error
  +		    end;
  +		{error, EncodingError} ->
  +		    {error, {encoding_error, EncodingError}}
  +	    end;
  +	false ->
  +	    {error, {unknown_operation, Operation}}
       end.
   
   %%%
  
positive.code:     parseMessage(Message, Model);
  %%
  parseMessage(Message, Model) ->
      case erlsom:parse(Message, Model) of
          {ok, #'soap:Envelope'{'Body' = #'soap:Body'{choice = Body},
                                'Header' = undefined}} ->
              {ok, undefined, Body};
          {ok, #'soap:Envelope'{'Body' = #'soap:Body'{choice = Body},
                                'Header' = #'soap:Header'{choice = Header}}} ->
              {ok, Header, Body};
          {error, ErrorMessage} ->
              {error, {decoding, ErrorMessage}}
      end.
  
  
  findOperation(_Operation, _Port, _Service, []) ->
      false;
  findOperation(Operation, Port, Service, 
                 [Op = #operation{operation = Operation, 
                                  port = Port, service = Service} | _]) ->
      Op;
  findOperation(Operation, Port, Service, [#operation{} | Tail]) ->
      findOperation(Operation, Port, Service, Tail).
  
negative.code:     call(Wsdl, Operation, ListOfData);
  call(Wsdl, Operation, ListOfData) when record(Wsdl, wsdl) ->
      case get_operation(Wsdl#wsdl.operations, Operation) of
  	{ok, Op} ->
  	    Msg = mk_msg(?DefaultPrefix, Operation, ListOfData),
  	    call(Wsdl, Operation, Op#operation.port, Op#operation.service, [], Msg);
  	Else ->
  	    Else
      end.
  
  %%% --------------------------------------------------------------------
  