Thanks for the quick response Fred, but I'm still getting errors.

Here's the source:

use SOAP::Lite
trace=>'all'
;

my $header = SOAP::Header->name('AuthenticationInfo' =>
  \SOAP::Header->value(
      SOAP::Header->name('userName' => $username)->type(''),
      SOAP::Header->name('password' => $password)->type(''),
      SOAP::Header->name('authentication' => $authentication)->type(''),
      SOAP::Header->name('locale' => $locale)->type(''),
      SOAP::Header->name('timeZone' => $timeZone)->type(''),
    )
);

my $soap = new SOAP::Lite
 proxy=>$proxy,
 uri=>$uri
;


my $result=$soap->OpCreate(
$header,
SOAP::Data->name('Class' => "$class"),
SOAP::Data->name('Character_Field_1' => "$Character_Field_1"),
);

that generates this trace


SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Transport::new: ()
SOAP::Serializer::new: ()
SOAP::Deserializer::new: ()
SOAP::Parser::new: ()
SOAP::Lite::new: ()
SOAP::Transport::HTTP::Client::new: ()
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Lite::call: ()
SOAP::Serializer::envelope: ()
SOAP::Data::new: ()
SOAP::Serializer::envelope: OpCreate SOAP::Data=HASH(0x1a4d474)
SOAP::Data=HASH(
0x1a4d4ec)
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Data::new: ()
SOAP::Transport::HTTP::Client::send_receive: HTTP::Request=HASH(0x1bac4bc)
SOAP::Transport::HTTP::Client::send_receive: POST
http://nc6000ms1:8080/arsys/services/ARService?server=NC6000MS1&webService=Create_MVSTEST_Form_Import
Accept: text/xml
Accept: multipart/*
Content-Length: 760
Content-Type: text/xml; charset=utf-8
SOAPAction: "Create_MVSTEST_Form_ImportPortType#OpCreate"

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance";
xmlns:SOAP-ENC=http://schemas.xmlsoap.org/soap/encoding/";
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/1999/XMLSchema";
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
<SOAP-ENV:Header>
<AuthenticationInfo>
<userName>USER</userName>
<password>PASSWORD</password>
<authentication/>
<locale/>
<timeZone/>
</AuthenticationInfo>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<namesp1:OpCreate xmlns:namesp1="Create_MVSTEST_Form_ImportPortType">
<Class xsi:type="xsd:string">Base1</Class>
<Character_Field_1 xsi:type="xsd:string">Field 1</Character_Field_1>
</namesp1:OpCreate></SOAP-ENV:Body></SOAP-ENV:Envelope>
SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x1d612e4)
SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal Server
Error
Connection: close
Date: Thu, 12 Jul 2007 19:06:25 GMT
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=utf-8
Client-Date: Thu, 12 Jul 2007 19:06:25 GMT
Client-Peer: 192.168.75.51:8080
Client-Response-Num: 1
Set-Cookie: JSESSIONID=9D74856F2C01B6DE32A21E33A1652CCB; Path=/arsys

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmln
s:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="
http://www.w3.org/2001/XMLSc
hema-instance">
<soapenv:Body>
 <soapenv:Fault>
  <faultcode>soapenv:Server.userException</faultcode>
  <faultstring>
MessageType: 2
MessageNum: 8962
MessageText: Unexpected element encountered in the input XML document
AppendedText: &lt;Character_Field_1&gt;</faultstring>
  <detail/>
 </soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
SOAP::Deserializer::deserialize: ()
SOAP::Parser::decode: ()
SOAP::SOM::new: ()
Fault :
MessageType: 2
MessageNum: 8962
MessageText: Unexpected element encountered in the input XML document
AppendedText: <Character_Field_1>
Faultcode :soapenv:Server.userException
Faultdetail :
SOAP::Lite::DESTROY: ()
SOAP::Deserializer::DESTROY: ()
SOAP::Parser::DESTROY: ()
SOAP::Transport::DESTROY: ()
SOAP::Transport::HTTP::Client::DESTROY: ()
SOAP::Serializer::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::SOM::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()
SOAP::Data::DESTROY: ()



On 7/12/07, Grooms, Frederick W <[EMAIL PROTECTED]> wrote:

** Use a comma between elements

my $som = $soap->OpCreate(
   SOAP::Data->name('String_1' => 'a1'),
   SOAP::Data->type('xsd:string')->name('String_2' => 'a2'),
   SOAP::Data->name('String_5' => 'a5') );

Here is a link to the SOAP::Lite docs:
http://search.cpan.org/~byrne/SOAP-Lite-0.69/lib/SOAP/Data.pm

Fred

 ------------------------------
*From:* Action Request System discussion list(ARSList) [mailto:
[EMAIL PROTECTED] *On Behalf Of *Marc Simmons
*Sent:* Thursday, July 12, 2007 1:20 PM
*To:* [email protected]
*Subject:* Web Services, OpCreate and Perl OH MY


**
Hi List,

I hate to bring up this subject yet again, but I can't seem to find a
complete answer in most of the postings I've read.  I've created a form with
a web service that uses the OpCreate method.  I've had some success
consuming the web service using perl, but have not figured out how to
build a SOAP::Data structure that contains more than 1 field and value:

ie

my $data = SOAP::Data->name('Class')->value($class)->type('xsd:string');
Any advice for consuming a web service that contains more than one field
in the data would be greatly appreciated.

Thanks,

--
Marc Simmons
Remedy Administrator

"Everyday above ground is a good day... the rest is a choice!"


__20060125_______________________This posting was submitted with HTML in
it___




--
Marc Simmons
Remedy Administrator

"Everyday above ground is a good day... the rest is a choice!"

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the Answers 
Are"

Reply via email to