The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

W3C::SOAP::Utils - Utility functions to be used with W3C::SOAP modules

VERSION

This documentation refers to W3C::SOAP::Utils version 0.01.

SYNOPSIS

   use W3C::SOAP::Utils;

   # splits tags with an optional XML namespace prefix
   my ($namespace, $tag) = split_ns('xs:thing');
   # $namespace = xs
   # $tag = thing

   # In a WSDL package to generate an operation method:
   operation wsdl_op => (
       wsdl_operation => 'WsdlOp',
       in_class       +> 'MyApp::Some::XSD',
       in_attribute   +> 'wsdl_op_request',
       out_class      +> 'MyApp::Some::XSD',
       out_attribute  +> 'wsdl_op_response',
   );

DESCRIPTION

Utility Functions

SUBROUTINES

split_ns ($name)

Splits an XML tag's namespace from the tag name

normalise_ns ($ns)

Creates a normalized XML name space string (ie lower cases the host part of the name space)

ns2module ($ns)

Takes the XML namespace $ns and coverts it to a module name, if it is a "normal" URI the module name is got by reversing the order of the domain parts and joining that with any directory parts (setting default Perl module capitalization along the way)

 eg http://www.example.com/some/path => Com::Example::Www::Some::Path

If the URI doesn't have a host part then URI is split on the non-word characters and similarly rejoined

 eg uri:thing.other/unknown => Uri::Thing::Other::Unknown
cmp_ns ($ns1, $ns2)

Compare two namespaces (with normalized host parts lower cased)

xml_error ($xml_node)

Pretty format the $xml_node for an error message

MOOSE HELPERS

operation ($name, %optisns)

Generates a SOAP operation method with the name $name

The options are:

wsdl_operation

The name of the operation from the WSDL

in_class

The name of the XSD generated module that the inputs should be made against

in_attribute

The particular element form the in_class XSD

out_class

The name of the XSD generated module that the outputs should be passed to

out_attribute

The particular element form the out_class XSD that contains the results.

DIAGNOSTICS

CONFIGURATION AND ENVIRONMENT

DEPENDENCIES

INCOMPATIBILITIES

BUGS AND LIMITATIONS

There are no known bugs in this module.

Please report problems to Ivan Wills - (ivan.wills@gmail.com)

Patches are welcome.

AUTHOR

Ivan Wills - (ivan.wills@gmail.com)

LICENSE AND COPYRIGHT

Copyright (c) 2012 Ivan Wills (14 Mullion Close, Hornsby Heights, NSW Australia 2077). All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.