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:                                           choice = _Choice,
                                            operation = Operations}, Ports) ->
    %% TODO: get soap info from Choice
    getOperationsFromOperations(Operations, BindingName, BindingType, 
                                Operations, Ports, []).
  
  getOperationsFromOperations([], _BindingName, _BindingType, 
                              _Operations, _Ports, Acc) ->
    Acc;
  
  getOperationsFromOperations([#'wsdl:tBindingOperation'{name = Name, 
                                                         choice = Choice} | Tail],
                              BindingName, BindingType, Operations, Ports, Acc) ->
    %% get SOAP action from Choice,
    case Choice of 
  
negative.code: 
  combinePorts([], _Name, _BindingName, _Action, Acc) ->
    Acc;
  combinePorts([#port{service = Service, port = PortName, address = Address} | Tail], 
               Name, BindingName, Action, Acc) ->
    combinePorts(Tail, Name, BindingName, Action,
                 [#operation{service = Service, port = PortName, operation = Name, 
                             binding = BindingName, address = Address, action = Action} | Acc]).
  
  searchPorts(BindingName, Ports) ->
    searchPorts(BindingName, Ports, []).
  