У меня проблемы с настройкой различных сред с помощью MSBuild и MSDeploy.
Я установил 2 конфигурации в TeamCity
My TestConfiguration работает нормально, но StagingConfiguration не развертывает пакет.
<MSBuild Projects="MyProject\MyProject.csproj"
Properties="Configuration=Staging;
DeployOnBuild=true;
DeployTarget=Package;"/>
Я пробовал добавить оба
_PackageTempDir=\\server\c$\WebDirectory;
PackageLocation=\\server\c$\WebDirectory;
Но, похоже, ни один из них не делать что-нибудь, я упустил суть? Мне действительно не удалось найти никакой документации, только странные сообщения в блоге тут и там. Нужно ли мне устанавливать что-то на моем сервере TeamCity для работы MSDeploy?
Мой идеальный сценарий: Когда я запрашиваю сжатие в ответе (...
Я использую клиент, сгенерированный JAX-WS (используя wsimport, тот, который входит в состав Glassfish 2.1.1), чтобы подключиться к веб-службе, созданной ASP.NET, работающей в IIS 6.
Когда я запрашиваю сжатие в ответе (путем включения HTTP-заголовка Accept-Encoding: gzip через обработчики SOAP JAX-WS ), IIS 6 отвечает сжатым ответом, но не включает ] Content-Encoding: gzip HTTP-заголовок ответа, поэтому я получаю следующее исключение:
com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP message due to exception: XML reader error: com.sun.xml.stream.XMLStreamException2: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.
at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:361) at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:173)
at com.sun.xml.xwss.XWSSClientPipe.process(XWSSClientPipe.java:160)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
at com.sun.xml.ws.client.Stub.process(Stub.java:248)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:135)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
Отредактировано 17 апреля 2011 г.
Я тоже пробовал, используя тот же SOAPHandler, который я использую для запроса сжатый ответ, чтобы изменить Заголовки ответа, но исключение происходит до вызова обработчика.
End Edit 17 апреля 2011 г.
Кроме того, когда я делаю тот же запрос к WebService через soapUI 3.6.1 с предпочтением «Принимать сжатые ответы от хостов», я вижу, что Я сказал: сервер IIS 6 не включает заголовок ответа HTTP для сжатия, и soapUI показывает ответ как «двоичные данные» и показывает следующие заголовки ответа:
HTTP/1.1 200 OK
Date: Wed, 13 Apr 2011 08:50:55 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 1104
Если -with soapUI- я не запрашиваю сжатый ответ Я получаю следующий размер ответа:
Content-Length: 2665
Итак, как я уже сказал, вопрос в том, что IIS6 не добавляет в ответ заголовок Contend-Encoding. Мой вопрос: можно ли программно добавить заголовок Content-Encoding? Или это также может быть: Можно ли попросить IIS6 включить заголовок Content-Encoding?
UPDATE
Использование Charles Web Debugging Proxy 3.5.2 Я подтвердил, что ответ от IIS6 не включает Заголовок Content-Encoding :
HTTP/1.1 200 OK
Date Wed, 13 Apr 2011 10:51:53 GMT
Server Microsoft-IIS/6.0
X-Powered-By ASP.NET
X-AspNet-Version 2.0.50727
Cache-Control private, max-age=0
Content-Type text/xml; charset=utf-8
Content-Length 1110
Я предполагаю, что это может быть проблема, больше связанная с WebService, чем с IIS 6