Иначе,
GCHandle pinnedArray = GCHandle.Alloc(byteArray, GCHandleType.Pinned);
IntPtr pointer = pinnedArray.AddrOfPinnedObject();
// Do your stuff...
pinnedArray.Free();
Я догадываюсь о C ++, вы можете создать класс модуля с перегруженными операторами и некоторыми макросами #define
которые вы не указываете в вызове функции. $ client -> __ soapCall ("CanLoadProduct", $ params)
вместо $ client-> CanLoadProduct ($ username , $ пароль и т. д.)
? (Первая версия представляет собой вариант более низкого уровня, который предназначен для использования в сценариях non_WSDL. Вторая версия может дать вам более подробную информацию об ошибке / исключении) У меня была такая же проблема при попытке передать XML как параметр одного из моих веб-сервисов. Обертывание XML-данных в
избавило от SOAP-ОШИБКИ: Кодирование: Нарушение правил кодирования , и все работало нормально.
Прочие сведения:
1. Параметр также был определен как xsd: string.
2. WSDL был документ / литерал.
3. Использование встроенного класса SOAP с php 5.2.10.
Я получал эту ошибку с помощью инструмента SoapUI, пока я не переформатировал ответ с использованием реальных тестовых данных, а не просто «?». Также с SoapUI ответ может быть больше, чем ожидалось, и, возможно, придется сократить до ожидаемого ответа, удалив несколько дополнительных параметров ответа. Надеюсь, это поможет?