我有以下代码片段来使用XML::Compile
模块
@echo off
set filename=TEST
set searchPath=E:\
set Destination= E:\FOUND
FOR /R "%searchPath%" %%a in (%filename%) DO (
IF EXIST "%%~fa" (
echo "%%~fa"
)
)
move "%%~fa" "%Destination%"
我必须将以下信息添加到SOAP信封的标题部分:
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
use XML::Compile::WSDL11; # use WSDL version 1.1
use XML::Compile::SOAP11; # use SOAP version 1.1
use XML::Compile::Transport::SOAPHTTP;
my $xml = '...';
my $wsdl_dir = '...';
my $wsdl = XML::Compile::WSDL11->new( $wsdl_dir . 'system.wsdl' );
$wsdl->addWSDL( $wsdl_dir . 'Service_v01.01.wsdl' );
$wsdl->importDefinitions( '...Service_v01.01.xsd' );
my $url = "http:...";
$call = $wsdl->compileClient( 'createContract', endpoint => $url );
my $schema = XML::Compile::Schema->new( '...Service_v01.01.xsd' );
my $reader = $schema->compile( READER => '{http://..Service_v01.01/types}createContract' );
$xml_hash = $reader->( $xml );
my ( $answer, $trace ) = $call->( $xml_hash );
print Dumper $trace->errors if $trace->errors;
和
<Sender>MySystem</Sender>
在
<MessageId>87o23676vx7ir5v</MessageId>
示例:
<soapenv:Header>..</soapenv:Header>
我没有使用<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="..." xmlns:typ="...">
<soapenv:Header>
<Sender>MySystem</Sender>
<MessageId>87o23676vx7ir5v</MessageId>
</soapenv:Header>
<soapenv:Body>
<typ:createContract>
...
的经验,对SOAP请求知之甚少。