#!/usr/bin/perl -w package main; use strict; use Data::Dumper; use SOAP::Lite +trace => qw( debug ); use SOAP::Data::ComplexType; use BrokerMessageType; use BrokerMessageType_inner; use PublishRequestType; my $WSDL = 'file:///tmp/broker.wsdl'; my $soap = SOAP::Lite -> uri('http://services.mydomain.org/broker') -> service($WSDL); my $request_obj = PublishRequestType->new ({ PublishRequest => { BrokerMessage => { destinationName => 'blogs', textPayload => 'TEST' }} }); $soap->publish($request_obj->as_soap_data);