import SOAP-WSDL 2.00.01 from CPAN

git-cpan-module:   SOAP-WSDL
git-cpan-version:  2.00.01
git-cpan-authorid: MKUTTER
git-cpan-file:     authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00.01.tar.gz
This commit is contained in:
Martin Kutter
2008-04-22 14:00:59 -08:00
committed by Michael G. Schwern
parent 0cbf981665
commit 745ce925c1
111 changed files with 1106 additions and 673 deletions

View File

@@ -4,7 +4,6 @@ use strict;
use lib 'lib/';
use lib '../lib/';
use lib 't/lib';
use Storable;
use_ok qw(SOAP::WSDL::XSD::Typelib::ComplexType);
use_ok qw( MyComplexType );
@@ -36,7 +35,7 @@ is $obj, '<MyTestName>test</MyTestName><MyTestName>test2</MyTestName>',
$obj = MyComplexType2->new({ MyTestName => [ 'test', 'test2' ] });
ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anyType')
, 'inherited class (on the fly-factory object)';
is $obj, '<MyTestName>test</MyTestName><MyTestName>test2</MyTestName>',
is $obj, '<MyTestName xmlns="urn:Test">test</MyTestName><MyTestName xmlns="urn:Test">test2</MyTestName>',
'stringification (on the fly-factory object)';
# TODO factor out into complexType test

View File

@@ -97,43 +97,41 @@ ok $interface->EnqueueMessage(
# cleanup
rmtree "$path/testlib";
# print $wsdl->explain();
sub xml_message {
return
return
q{<EnqueueMessage xmlns="http://www.example.org/MessageGateway2/">
<MMessage>
<MRecipientURI>anyURI</MRecipientURI>
<MSenderAddress>a string</MSenderAddress>
<MMessageContent>a string</MMessageContent>
<MSubject>a string</MSubject>
<MDeliveryReportRecipientURI>anyURI</MDeliveryReportRecipientURI>
<MKeepalive>
<MKeepaliveTimeout>1234567</MKeepaliveTimeout>
<MKeepaliveErrorPolicy> ( suppress | report ) </MKeepaliveErrorPolicy>
</MKeepalive>
</MMessage>
<MMessage>
<MRecipientURI>anyURI</MRecipientURI>
<MSenderAddress>a string</MSenderAddress>
<MMessageContent>a string</MMessageContent>
<MSubject>a string</MSubject>
<MDeliveryReportRecipientURI>anyURI</MDeliveryReportRecipientURI>
<MKeepalive>
<MKeepaliveTimeout>1234567</MKeepaliveTimeout>
<MKeepaliveErrorPolicy> ( suppress | report ) </MKeepaliveErrorPolicy>
</MKeepalive>
</MMessage>
</EnqueueMessage>
};
}
sub xml_message2 {
return
return
q{<EnqueueMessage xmlns="http://www.example.org/MessageGateway2/">
<MMessage>
<MRecipientURI>anyURI</MRecipientURI>
<MSenderAddress>a string</MSenderAddress>
<MMessageContent>a string</MMessageContent>
<MSubject>a string</MSubject>
<MDeliveryReportRecipientURI>anyURI</MDeliveryReportRecipientURI>
</MMessage>
<MMessage>
<MRecipientURI>anyURI</MRecipientURI>
<MSenderAddress>a string</MSenderAddress>
<MMessageContent>a string</MMessageContent>
<MSubject>a string</MSubject>
<MDeliveryReportRecipientURI>anyURI</MDeliveryReportRecipientURI>
</MMessage>
</EnqueueMessage>
};
}
sub xml {
return q{<?xml version="1.0" encoding="UTF-8"?>
return q{<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="MessageGateway"
targetNamespace="http://www.example.org/MessageGateway2/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

View File

@@ -1,7 +1,7 @@
#!/usr/bin/perl -w
use strict;
use warnings;
use Test::More tests => 4;
use Test::More tests => 5;
use lib '../../../../lib';
use lib '../../../../t/lib';
use lib 't/lib';
@@ -14,7 +14,7 @@ use MyComplexType;
use MyElement;
use MySimpleType;
my $xml = q{<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
my $xml = q{<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
<SOAP-ENV:Body><MyAtomicComplexTypeElement xmlns="urn:Test" >
<test>Test</test>
@@ -26,26 +26,30 @@ my $parser = SOAP::WSDL::Expat::MessageParser->new({
class_resolver => 'FakeResolver'
});
test_nil($parser);
$parser->parse( $xml );
is $parser->get_data(), q{<MyAtomicComplexTypeElement xmlns="urn:Test">}
. q{<test>Test</test><test2>Test2</test2></MyAtomicComplexTypeElement>}
, 'Content comparison';
my $xml_attr = q{<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
my $xml_attr = q{<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
<SOAP-ENV:Body><MyElementAttrs xmlns="urn:Test" test="Test" test2="Test2">
<test>Test</test>
<test2 > </test2>
<test2></test2>
</MyElementAttrs></SOAP-ENV:Body></SOAP-ENV:Envelope>};
$parser->parse($xml_attr);
is $parser->get_data(),
q{<MyElementAttrs xmlns="urn:Test" test="Test" test2="Test2"><test>Test</test></MyElementAttrs>},
q{<MyElementAttrs xmlns="urn:Test" test="Test" test2="Test2"><test>Test</test><test2></test2></MyElementAttrs>},
'Content with attributes';
my $xml_error = q{<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
my $xml_error = q{<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
<SOAP-ENV:Body><MyElementAttrs xmlns="urn:Test" test="Test" test2="Test2">
<test>Test</test>
@@ -65,8 +69,6 @@ BEGIN {
'MyAtomicComplexTypeElement/test' => 'MyTestElement',
'MyAtomicComplexTypeElement/test2' => 'MyTestElement2',
'MyAtomicComplexTypeElement/foo' => '__SKIP__',
# 'MyAtomicComplexTypeElement/foo/bar' => 'MyFooElement',
# 'MyAtomicComplexTypeElement/foo/baz' => 'MyFooElement',
'MyElementAttrs' => 'MyElementAttrs',
'MyElementAttrs/test' => 'MyTestElement',
'MyElementAttrs/test2' => 'MyTestElement2',
@@ -83,3 +85,16 @@ BEGIN {
};
};
};
sub test_nil {
my $parser = shift();
my $xml_nil_attr = q{<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
<SOAP-ENV:Body><MyElementAttrs xmlns="urn:Test">
<test>Test</test>
<test2 xsi:nil="1"/>
</MyElementAttrs></SOAP-ENV:Body></SOAP-ENV:Envelope>};
my $result = $parser->parse($xml_nil_attr);
is $result->get_test2->serialize({ name => 'test2'}), '<test2 xsi:nil="true"/>';
}

View File

@@ -1,19 +1,54 @@
use strict;
use warnings;
use Test::More tests => 6;
use Test::More tests => 15;
use Scalar::Util qw(blessed);
use SOAP::WSDL::Factory::Transport;
eval { SOAP::WSDL::Factory::Transport->get_transport('') };
like $@, qr{^no transport};
eval { SOAP::WSDL::Factory::Transport->get_transport('zumsl') };
like $@, qr{^no transport};
ok my $obj = SOAP::WSDL::Factory::Transport->get_transport('http');
my $obj;
SKIP: {
# fake absence of SOAP::Lite
eval q{ use Test::Without::Module qw(SOAP::Transport::HTTP); 1; }
or skip "cannot fake absence of modules without Test::Without::Module", 7;
# fake absence of SOAP::WSDL::Transport::HTTP - must throw error
eval q{ use Test::Without::Module qw(SOAP::WSDL::Transport::HTTP); };
eval { SOAP::WSDL::Factory::Transport->get_transport('http') };
like $@, qr{Cannot \s load \s transport \s class \s SOAP::WSDL::Transport::HTTP}x;
# try again - but now allow to load
eval q{ no Test::Without::Module qw(SOAP::WSDL::Transport::HTTP); };
ok $obj = SOAP::WSDL::Factory::Transport->get_transport('http'), 'load backend';
ok $obj->isa('SOAP::WSDL::Transport::HTTP'), 'load SOAP::WSDL::Transport::HTTP';
# Play it again to test what happens when it's loaded
# make loading fail (with Test::Without::Module), to make sure we
# don't load it again
eval q{ use Test::Without::Module qw(SOAP::WSDL::Transport::HTTP); };
ok $obj = SOAP::WSDL::Factory::Transport->get_transport('http'), 'get backend without loading';
ok $obj->isa('SOAP::WSDL::Transport::HTTP'), 'load SOAP::WSDL::Transport::HTTP';
eval q{ no Test::Without::Module qw(SOAP::WSDL::Transport::HTTP); };
eval q{ no Test::Without::Module qw(SOAP::Transport::HTTP); };
eval q{ require SOAP::Lite }
or skip q{Cannot test loading SOAP::Lite's transport backend without SOAP::Lite}, 2;
# try to load with SOAP::Lite install
ok $obj = SOAP::WSDL::Factory::Transport->get_transport('http'), 'load backend';
ok $obj->isa('SOAP::Transport::HTTP::Client'), 'load SOAP::Transport::HTTP::Client backend';
}
ok $obj = SOAP::WSDL::Factory::Transport->get_transport('http');
ok blessed $obj;
SOAP::WSDL::Factory::Transport->register('zumsl', 'Hope_You_Have_No_Such_Package_Installed');
eval { SOAP::WSDL::Factory::Transport->get_transport('zumsl:foo') };
@@ -22,3 +57,10 @@ like $@, qr{^Cannot load};
eval { SOAP::WSDL::Factory::Transport->register( \'zumsl', 'Foo') };
like $@, qr{^Cannot use reference};
# register and load a previously loaded backend
SOAP::WSDL::Factory::Transport->register( 'zumsl', 'SOAP::WSDL::Transport::HTTP');
isa_ok( SOAP::WSDL::Factory::Transport->get_transport('zumsl:foo'), 'SOAP::WSDL::Transport::HTTP');
# register and load a previously unloaded backend
SOAP::WSDL::Factory::Transport->register( 'zumsl', 'SOAP::WSDL::Transport::Loopback');
isa_ok(SOAP::WSDL::Factory::Transport->get_transport('zumsl:foo'), 'SOAP::WSDL::Transport::Loopback');

View File

@@ -12,13 +12,13 @@ use_ok qw(SOAP::WSDL::Generator::Visitor::Typemap);
my $visitor;
ok $visitor = SOAP::WSDL::Generator::Visitor::Typemap->new({
resolver => SOAP::WSDL::Generator::Template::Plugin::XSD->new({
prefix_resolver=> SOAP::WSDL::Generator::PrefixResolver->new({
prefix_resolver=> SOAP::WSDL::Generator::PrefixResolver->new({
prefix => {
type => 'TestTypes',
element => 'TestElements',
typemap => 'TestTypemap',
}
}),
}
}),
})
}), 'constructor';

View File

@@ -1,4 +1,4 @@
use Test::More tests => 49;
use Test::More tests => 51;
use File::Basename qw(dirname);
use File::Spec;
use File::Path;
@@ -14,7 +14,6 @@ my $parser = SOAP::WSDL::Expat::WSDLParser->new();
my $definitions = $parser->parse_file(
"$path/../../../acceptance/wsdl/generator_test.wsdl"
#"$path/../../../acceptance/wsdl/elementAtomicComplexType.xml"
);
my $generator = SOAP::WSDL::Generator::Template::XSD->new({
@@ -33,8 +32,6 @@ $generator->generate_typelib();
ok !$@;
print $@ if $@;
}
# print $code;
$generator->set_type_prefix('MyTypes');
$generator->set_element_prefix('MyElements');
@@ -182,6 +179,10 @@ $obj->attr({ testAttr => 'bar' });
is $obj->serialize({ name => 'baz'}), q{<baz testAttr="bar">foo</baz>};
use_ok qw(MyAttributes::TestAttribute);
ok $obj = MyAttributes::TestAttribute->new({ value => 'foo' });
SKIP: {
eval { require Test::Pod::Content; }
or skip 'Cannot test pod content without Test::Pod::Content', 1;

View File

@@ -35,7 +35,6 @@ use Test::More qw(no_plan);
use_ok qw(SOAP::WSDL::Server);
my $server = SOAP::WSDL::Server->new();
$server->set_deserializer('MyDeserializer');
eval { $server->handle(HTTP::Request->new()) };
like $@, qr{\A No \s handler}x, 'No handler fault caught';
@@ -64,4 +63,4 @@ like $@, qr{\A Error \s deserializing}x, 'Error deserializing caught';
sub test {
return;
}
}

View File

@@ -32,57 +32,60 @@ my $fh = IO::Scalar->new(\$output);
my $stdout = *STDOUT;
my $stdin = *STDIN;
# don't try to print() anything from here on - it gehts caught in $output,
#and does not make it to STDOUT...
*STDOUT = $fh;
{
local %ENV;
$server->handle();
like $output, qr{ \A Status: \s 411 \s Length \s Required}x;
$output = q{};
$ENV{'CONTENT_LENGTH'} = '0e0';
$server->handle();
like $output, qr{ Error \s deserializing }xsm;
$output = q{};
$server->set_action_map_ref({
'foo' => 'bar',
});
$server->set_dispatch_to( 'HandlerClass' );
$server->handle();
like $output, qr{no \s element \s found}xms;
$output = q{};
$ENV{REQUEST_METHOD} = 'POST';
$ENV{HTTP_SOAPACTION} = 'test';
$server->handle();
like $output, qr{no \s element \s found}xms;
$output = q{};
delete $ENV{HTTP_SOAPACTION};
$ENV{EXPECT} = 'Foo';
$ENV{HTTP_SOAPAction} = 'foo';
$server->handle();
like $output, qr{no \s element \s found}xms;
$output = q{};
$ENV{EXPECT} = '100-Continue';
$ENV{HTTP_SOAPAction} = 'foo';
$server->handle();
like $output, qr{100 \s Continue}xms;
$output = q{};
delete $ENV{EXPECT};
my $input = 'Foobar';
my $ih = IO::Scalar->new(\$input);
$ih->seek(0);
*STDIN = $ih;
# my $buffer;
# read(*STDIN, $buffer, 6);
# die $buffer;

View File

@@ -1,7 +1,20 @@
package XML::id;
use strict; use warnings;
use base qw(SOAP::WSDL::XSD::Typelib::Attribute SOAP::WSDL::XSD::Typelib::Builtin::string);
sub get_xmlns { 'http://www.w3.org/XML/1998/namespace' };
__PACKAGE__->__set_name('id');
package main;
use strict;
use warnings;
use Test::More tests => 3; #qw(no_plan);
use Test::More tests => 4; #qw(no_plan);
use_ok qw(SOAP::WSDL::XSD::Typelib::Attribute);
is SOAP::WSDL::XSD::Typelib::Attribute->start_tag(), '';
is SOAP::WSDL::XSD::Typelib::Attribute->start_tag({ name => 'foo'}, 'bar'), q{ foo="};
no strict qw(refs);
*{ 'SOAP::WSDL::XSD::Typelib::Attribute::get_xmlns' } = sub { 'urn:Test' };
is( SOAP::WSDL::XSD::Typelib::Attribute->start_tag(), '');
is(SOAP::WSDL::XSD::Typelib::Attribute->start_tag({ name => 'foo'}, 'bar'), q{ foo="});
my $id = XML::id->new({ value => 'foo' });
is( $id->serialize({ name => 'id' }), q{ xml:id="foo"});

View File

@@ -285,7 +285,7 @@
<wsdl:input>
<soap:body use="literal" namespace="http://www.example.org/" parts="tns:parameters"/>
<soap:header use="literal" namespace="http://www.example.org/"
message="tns:EnqueueMessageRequest" part="tns:auth"/>
message="tns:EnqueueMessageRequest" part="auth"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
@@ -310,12 +310,12 @@
<wsdl:documentation>HTTP(S) port for the message gateway</wsdl:documentation>
<soap:address location="http://test.example.org/MessageGateway/" />
</wsdl:port>
<wsdl:port name="HTTPSPort" binding="tns:MGWBinding">
<wsdl:documentation>HTTP(S) port for the message gateway</wsdl:documentation>
<soap:address location="https://test.example.org/MessageGateway/" />
</wsdl:port>
<wsdl:port name="HTTP" binding="tns:MGWBinding">
<http:address location="http://www.webservicex.net/globalweather.asmx" />
</wsdl:port>

View File

@@ -9,6 +9,8 @@
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/">
<types>
<xsd:schema targetNamespace="urn:Test">
<xsd:attribute name="TestAttribute" type="xsd:string"></xsd:attribute>
<xsd:simpleType name="testSimpleTypeList">
<xsd:annotation>
<xsd:documentation>
@@ -203,8 +205,8 @@ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xm
</xsd:complexType>
</xsd:element>
<xsd:element name="Header" type="tns:testComplexTypeSequence"/>
<xsd:element name="testHeader" type="tns:testComplexTypeSequence"/>
<xsd:element name="Header" type="tns:testComplexTypeSequence" nillable="false"/>
<xsd:element name="testHeader" type="tns:testComplexTypeSequence" nillable="0"/>
<xsd:element name="testChoice" type="tns:testComplexTypeChoice"/>
@@ -229,7 +231,7 @@ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xm
</xsd:complexType>
<xsd:element name="testElementEmptyComplex">
<xsd:element name="testElementEmptyComplex" nillable="true">
<xsd:complexType>
<xsd:sequence/>
</xsd:complexType>
@@ -238,7 +240,7 @@ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xm
<xsd:sequence></xsd:sequence>
</xsd:complexType>
<xsd:element name="testElementCompletelyEmptyComplex">
<xsd:element name="testElementCompletelyEmptyComplex" nillable="1">
<xsd:complexType>
</xsd:complexType>
</xsd:element>
@@ -333,8 +335,8 @@ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xm
<operation name="testHeader">
<soap:operation soapAction="testHeader"/>
<input>
<soap:body use="literal" parts="tns:testBody"/>
<soap:header use="literal" part="tns:testHeader" message="tns:testHeaderRequest"/>
<soap:body use="literal" parts="testBody"/>
<soap:header use="literal" part="testHeader" message="tns:testHeaderRequest"/>
</input>
<output>
<soap:body use="literal"/>

View File

@@ -85,21 +85,21 @@
</xsd:complexType>
<xsd:complexType name="testComplexTypeExtension">
<xsd:annotation>
<xsd:documentation>complexType extension test</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="tns:testComplexTypeAll">
<xsd:sequence>
<xsd:element name="Test1" type="xsd:string" />
<xsd:element name="Test2" type="xsd:string" minOccurs="1"/>
<xsd:element name="Test3" type="xsd:string" minOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
<xsd:annotation>
<xsd:documentation>complexType extension test</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="tns:testComplexTypeAll">
<xsd:sequence>
<xsd:element name="Test1" type="xsd:string" />
<xsd:element name="Test2" type="xsd:string" minOccurs="1"/>
<xsd:element name="Test3" type="xsd:string" minOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="testComplexTypeChoice">
<xsd:complexType name="testComplexTypeChoice">
<xsd:annotation>
<xsd:documentation>
ComplexType Test
@@ -167,36 +167,36 @@
</xsd:complexType>
</xsd:element>
<xsd:element name="Header" type="tns:testComplexTypeSequence"/>
<xsd:element name="testHeader" type="tns:testComplexTypeSequence"/>
<xsd:element name="testChoice" type="tns:testComplexTypeChoice"/>
<xsd:element name="Header" type="tns:testComplexTypeSequence"/>
<xsd:element name="testHeader" type="tns:testComplexTypeSequence"/>
<xsd:element name="testChoice" type="tns:testComplexTypeChoice"/>
<xsd:complexType name="testComplexTypeElementAtomicSimpleType">
<xsd:sequence>
<xsd:element name="testString" type="xsd:string" minOccurs="0"/>
<xsd:element name="testAtomicSimpleTypeElement" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="testAtomicSimpleTypeElement2" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="testComplexTypeElementAtomicSimpleType">
<xsd:sequence>
<xsd:element name="testString" type="xsd:string" minOccurs="0"/>
<xsd:element name="testAtomicSimpleTypeElement" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="testAtomicSimpleTypeElement2" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
<message name="testChoice">
<part name="parameters" element="tns:testChoice"/>
<part name="parameters" element="tns:testChoice"/>
</message>
<message name="testRequest">
<part name="testAll" element="tns:testElementString"/>
@@ -224,19 +224,19 @@
<output message="tns:testResponse"/>
</operation>
<operation name="testHeader">
<documentation>
Test-Methode
</documentation>
<input message="tns:testHeaderRequest"/>
<output message="tns:testHeaderResponse"/>
</operation>
<operation name="testChoice">
<documentation>
Test-Methode
</documentation>
<input message="tns:testChoice"/>
<output message="tns:testChoice"/>
</operation>
<documentation>
Test-Methode
</documentation>
<input message="tns:testHeaderRequest"/>
<output message="tns:testHeaderResponse"/>
</operation>
<operation name="testChoice">
<documentation>
Test-Methode
</documentation>
<input message="tns:testChoice"/>
<output message="tns:testChoice"/>
</operation>
<operation name="testMultiPartWarning">
<documentation>
Test-Methode
@@ -245,34 +245,34 @@
<output message="tns:testMultiPartWarning"/>
</operation>
</portType>
</portType>
<binding type="tns:testPort" name="testBinding">
<binding type="tns:testPort" name="testBinding">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="testChoice">
<soap:operation soapAction="testChoice" style="document"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<soap:operation soapAction="testChoice" style="document"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="test">
<soap:operation soapAction="test" style="document"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<soap:operation soapAction="test" style="document"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="testHeader">
<soap:operation soapAction="testHeader"/>
<input>
<soap:body use="literal" parts="tns:testBody"/>
<soap:header use="literal" part="tns:testHeader" message="tns:testHeaderRequest"/>
<input>
<soap:body use="literal" parts="testBody"/>
<soap:header use="literal" part="testHeader" message="tns:testHeaderRequest"/>
</input>
<output>
<soap:body use="literal"/>
@@ -290,8 +290,8 @@
</binding>
<service name="My.SOAP.testService">
<port name="My.SOAP.testPort" binding="tns:testBinding">
<soap:address location="http://127.0.0.1/testPort" />
</port>
</service>
<port name="My.SOAP.testPort" binding="tns:testBinding">
<soap:address location="http://127.0.0.1/testPort" />
</port>
</service>
</definitions>

View File

@@ -283,9 +283,9 @@
<wsdl:operation name="EnqueueMessage">
<soap:operation soapAction="http://www.example.org/MessageGateway2/EnqueueMessage" />
<wsdl:input>
<soap:body use="literal" namespace="http://www.example.org/" parts="tns:parameters"/>
<soap:body use="literal" namespace="http://www.example.org/" parts="parameters"/>
<soap:header use="literal" namespace="http://www.example.org/"
message="tns:EnqueueMessageRequest" part="tns:auth"/>
message="tns:EnqueueMessageRequest" part="auth"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
@@ -310,12 +310,12 @@
<wsdl:documentation>HTTP(S) port for the message gateway</wsdl:documentation>
<soap:address location="http://test.example.org/MessageGateway/" />
</wsdl:port>
<wsdl:port name="HTTPSPort" binding="tns:MGWBinding">
<wsdl:documentation>HTTP(S) port for the message gateway</wsdl:documentation>
<soap:address location="https://test.example.org/MessageGateway/" />
</wsdl:port>
<wsdl:port name="HTTP" binding="tns:MGWBinding">
<http:address location="http://www.webservicex.net/globalweather.asmx" />
</wsdl:port>

View File

@@ -46,6 +46,7 @@ use base (
);
__PACKAGE__->__set_name('MyTestElement2');
__PACKAGE__->__set_nillable(1);
sub get_xmlns { 'urn:Test' };