Загрузить файл в soapUI - PullRequest
       20

Загрузить файл в soapUI

1 голос
/ 16 марта 2011

Я загружаю файл в наш сервис загрузки, используя soapUI. Файл будет загружен правильно при использовании графического интерфейса инструмента. Однако мы вызываем версию командной строки из нашего фреймворка.

Похоже, что вызов командной строки soapUI не может правильно построить Content-Disposition в http-запросе, и при попытке добавить параметр «filename» выдается исключение, так как это неожиданно. Вот трассировка стека:

14:33:51,358 ERROR [SoapUI] An error occured [Expected ';', got "filename"], see error log for details
javax.mail.internet.ParseException: Expected ';', got "filename"
    at javax.mail.internet.ParameterList.<init>(ParameterList.java:280)
    at javax.mail.internet.ContentDisposition.<init>(ContentDisposition.java:96)
    at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1338)
    at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1008)
    at javax.mail.internet.PreencodedMimeBodyPart.updateHeaders(PreencodedMimeBodyPart.java:117)
    at javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:414)
    at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1285)
    at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2071)
    at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2039)
    at com.eviware.soapui.impl.wsdl.submit.filters.HttpRequestFilter.filterHttpRequest(HttpRequestFilter.java:240)
    at com.eviware.soapui.impl.wsdl.submit.filters.AbstractRequestFilter.filterAbstractHttpRequest(AbstractRequestFilter.java:41)
    at com.eviware.soapui.impl.wsdl.submit.filters.AbstractRequestFilter.filterRequest(AbstractRequestFilter.java:31)
    at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:130)
    at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:122)
    at com.eviware.soapui.impl.wsdl.WsdlSubmit.submitRequest(WsdlSubmit.java:75)
    at com.eviware.soapui.impl.support.http.HttpRequest.submit(HttpRequest.java:258)
    at com.eviware.soapui.impl.wsdl.teststeps.HttpTestRequestStep.run(HttpTestRequestStep.java:253)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:193)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:124)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:137)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.start(AbstractTestRunner.java:80)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.run(WsdlTestCase.java:578)
    at awris.product.testengine.commands.service.SoapUICommand$BetterSoapUITestCaseRunner.runTestCase(SoapUICommand.java:303)
    at com.eviware.soapui.tools.SoapUITestCaseRunner.runRunner(SoapUITestCaseRunner.java:318)
    at com.eviware.soapui.tools.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:133)
    at awris.product.testengine.commands.service.SoapUICommand.execute(SoapUICommand.java:76)
    at awris.product.testengine.TestRunner.executeCommands(TestRunner.java:123)
    at awris.product.testengine.TestRunner.doTest(TestRunner.java:87)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:609)
    at org.testng.internal.MethodHelper$1.runTestMethod(MethodHelper.java:727)
......

Когда тестовый прогон не загружается, файл не загружается, потому что вложение заголовка отсутствует. Почему это происходит из-за вызова командной строки, а не из графического интерфейса, и как мне это исправить?

1 Ответ

1 голос
/ 17 марта 2011

ОК, я нашел решение сам.Используемая мной версия GUI soapUI была 3.6.1, а версия вызова командной строки - 3.0.1, в которой была ошибка, препятствующая неправильному построению Content-Disposition для запросов на загрузку файлов.то есть он не включает параметр имени файла в Content-Disposition.

Обновление версии до 3.6.1 исправило проблему для меня.

...