Простого решения для этого не существует, так как вы, вероятно, пытались это сделать прямо сейчас, Datetime.valueOf()
здесь не поможет, вам придется разбирать строку и составлять базовое значение Datetime, используя статический метод 6-params newInstanceGmt
,затем позвоните addHours
/ addMinutes
, чтобы компенсировать часовой пояс.
Даже если мы пренебрегаем губернатором (и я подозреваю, вы легко столкнетесь с ним, если у вас большой набор с большим количеством дат),другие примитивные типы также потребуют специальной обработки, тогда у вас будет набор предопределенных производных типов, а поверх всех пользовательских производных типов будут добавлены фасеты.А затем смешайте все это вместе, чтобы получить сложные типы.И когда вы все закончите со всем этим, у вас будет собственный SOAP-стек в Apex :) Как я могу убедить вас не делать этого:)
У меня были подобные проблемы, но я даже не хотелразвлекать идею создания собственного стека SOAP (у меня уже были огромные проблемы с библиотекой JSON и ограничителем регулятора).Решение, которое я использовал, заключается в установке «прокси» ASMX на сервере компании рядом с источником (хотя это не обязательно должен быть MS-техник, вы можете в равной степени создать один и тот же прокси с, скажем, Axis), который бы использовал WSDL полностьюфорсировать и переупаковывать операции в детское питание, которое может переварить SOAP Salesforce.Даже несмотря на отставание в использовании другого веб-сервиса, он все равно был лучше, чем ничего.