soaplite SOAPAction header problem

D

drossign

Hello,
I'm trying to make a soap call to a server but the server responds with
"The HTTP request did not contain a valid SOAPAction header. The value
of the header was
"document/urn:crmondemand/ws/lead/10/2004#LeadInsert".

The server is looking for
"document/urn:crmondemand/ws/lead/10/2004:LeadInsert". I'm not sure if
I'm just making the call correctly or if there is some other problem.
Some code is below. If there's any other information you need or if you
have any questions about what I'm doing please let me know.

Thanks,
Dave

Sample Code:

#!/usr/local/bin/perl -w

use LWP::UserAgent;
use SOAP::Lite;# +trace => all; # Uncomment to show SOAP debugging
use Data::Dumper;
use strict;

my $authurl = "https://secure.crmondemand.com/Services/Integration";
my $auth = LWP::UserAgent->new;
$auth->timeout(10);
$auth->cookie_jar;
my $sessionID = "";

##Begin Login
##End Login

##Begin SOAP Call
my $soapurl = $authurl . "?JSESSIONID=" . $sessionID;
my $xml =
"<LeadWS_LeadInsert_Input><ListOfLead><Lead><CampaignID>1-6ROFZO</CampaignID><LeadFirstName>David</LeadFirstName><LeadLastName>Rossignol</LeadLastName><ReassignAccount>y</ReassignAccount><ReassignLeadOwner>y</ReassignLeadOwner></Lead></ListOfLead></LeadWS_LeadInsert_Input>";
my $soap = SOAP::Data->type(xml => $xml);

my $soapCall = SOAP::Lite
-> uri('document/urn:crmondemand/ws/lead/10/2004')
-> proxy($soapurl);

my $result = $soapCall
-> LeadInsert($soap);

unless ($result->fault) {
print "Begin result...\n" . $result->result() . "\n...End result\n";
} else {
print "Begin Error...\n" . join(', ', $result->faultcode,
$result->faultstring) . "\n";
print Dumper($result->faultdetail);
print "...End Error\n";
}
##End SOAP Call

##Begin Logoff
##End Logoff
 
B

blaine

Hey,

I think that your URI may be off. Usually this is used to tell which
service you are trying to fire up. Try dropping the "document/".

So:

my $soapCall = SOAP::Lite
->xmlschema('http://www.w3.org/2001/XMLSchema')
-> uri('urn:crmondemand/ws/lead/10/2004')
-> proxy($soapurl);
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top