Я использую регулярные выражения для достижения этого. Во-первых, я динамично создаю regex.
string regex = string.Format(
"[{0}]",
Regex.Escape(new string(Path.GetInvalidFileNameChars())));
Regex removeInvalidChars = new Regex(regex, RegexOptions.Singleline | RegexOptions.Compiled | RegexOptions.CultureInvariant);
Тогда я просто называю removeInvalidChars. Замена, чтобы сделать находку и замену. Это может, очевидно, быть расширено для покрытия символов пути также.
SoapClient использует имя пользователя и пароль для реализации HTTP-аутентификации. Поддерживаются базовая и дайджест-аутентификация ( см. Источник )
Для получения информации о реализации HTTP-аутентификации в PHP на стороне сервера см. эту страницу руководства .
Если вы этого не сделаете. Если вы хотите использовать HTTP-аутентификацию, см. этот пользовательский образец на странице руководства SoapServer, где показано, как можно передать некоторые учетные данные в заголовке UsernameToken.
Вы можете попробовать читать данные RAW Post.
if ( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
$xml = file_get_contents('php://input');
print( htmlspecialchars( $xml ) );
// XML processing
}
В $ XML у вас будет весь запрос SOAP XML.
Усаперевер не имеет методов для чтения заголовков мыла.
- Редактировать: внесенный пример вручения вручную, похоже, не работает, метод обработки заголовка никогда не вызывается