Я испытываю некоторые трудности при настройке и запуске среды набора тестов веб-служб компании на локальном сервере. Я получил от них 2 файла war, которые я уже развернул на своем сервере Tomcat.
Набор тестов состоит из 2 компонентов.
- xmlvend-server.war
- xmlvend-client.war
Я могу получить доступ к серверу
http://localhost:8080/xmlvend-server
и клиентское веб-приложение
http://localhost:8080/xmlvend-client
На веб-странице сервера меня приветствует следующее сообщение:
Сервер тестирования протокола
Это сервер тестирования протокола для файлов сценариев xmlvend
хранятся / читаются в следующем месте:
C: \ Documents and Settings \ LocalService / xmlvend / test-server /
Вызов сообщения может быть основан на стандартном XMLVend 2.1 WSDL,
отправив запросы POST на следующий адрес конечной точки:
http://127.0.0.1:8080/xmlvend-server/service
Все выглядит нормально, но когда я нажимаю на адрес конечной точки (выше), я получаю следующее сообщение об ошибке / исключение:
исключение: javax.servlet.ServletException: не удалось получить
ссылка на SOAP Engine
xmlhttp.framework.MessageReceiverServlet.init (MessageReceiverServlet.java:50)
основная причина: java.lang.Exception: нет SOAPProcessor в контексте
xmlhttp.framework.MessageReceiverServlet.init (MessageReceiverServlet.java:45)
Если я пытаюсь получить доступ к файлу wsdl (xmlvend-full-2.1.wsdl) веб-службы, я получаю то же исключение, что и выше.
Я также получил wsdl от компании, но где мне его разместить?
Должен ли он быть помещен в папку webapps / test-server на tomcat?
Может кто-нибудь сказать мне, как я могу заставить работать веб-приложение?
Любая помощь высоко ценится, я даже настроил сервер для простого
VNC / RDP удаленный доступ, пожалуйста, свяжитесь со мной, если вы можете мне помочь.
Спасибо
Моя настройка:
- Tomcat сервер 7.0.20
- Java SDK / SE 7
- Java-версия 1.4.2_03
- Windows XP SP3
Дополнительная информация:
Сервер - web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee file:/Users/dawidl/Projects/solms/solmsRoot/externalResources/sun/xml/schemas/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>XMLVend Server (Web Services Testing Framework)</display-name>
<description>
A zero-business-logic web services server to perform protocol testing. All requests
with a URI of /service/* (and POST method) indicate web services (SOAP/HTTP) requests, the rest
are normal XHTML,etc/HTTP
</description>
<!-- Decodes any HTTP Requests sent using GZIP compression. Does so transparently,
so all components in the chain after it are unaware of the compressed request. This
is why the stupid Osmotic filter that follows prints out the annoying message
'request not compressed' even though it was originally (and we can't turn off
the printouts, because osmotic do not make their source available. -->
<filter>
<filter-name>HttpRequestCompressionFilter</filter-name>
<filter-class>xmlhttp.framework.io.HttpCompressionFilter</filter-class>
</filter>
<!-- Use off-the-shelf (Osmotic Web) Response Compression Filter (Supposed
to do two-way, but it's broken, which is why we wrote our own filter.-->
<filter>
<filter-name>HttpResponseCompressionFilter</filter-name>
<filter-class>com.osmoticweb.gzipfilter.GZIP2WayFilter</filter-class>
</filter>
<!-- Filter to cater for non-conforming user agents (read: MS Internet Explorer)
that do not understand the XHTML MIME type -->
<filter>
<filter-name>XHTMLMIMEFilter</filter-name>
<filter-class>za.co.solms.web.xhtml.MIMEFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HttpRequestCompressionFilter</filter-name>
<url-pattern>/service/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>HttpResponseCompressionFilter</filter-name>
<url-pattern>/service/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>XHTMLMIMEFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>MessageReceiver</servlet-name>
<servlet-class>xmlhttp.framework.MessageReceiverServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MessageReceiver</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jspx</welcome-file>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
<!-- Sets up the SOAP Engine and Processor(s) -->
<listener>
<listener-class>xmlhttp.framework.config.FrameworkSetupListener</listener-class>
</listener>
</web-app>
Клиент - web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>XMLVend Client (Web Services Testing Framework)</display-name>
<description>
A basic web services client to perform protocol testing.
</description>
<!-- Global web Service Parameters (Use-Case Centric) -->
<context-param>
<!-- Contract (each 'operation' name maps to a 'UseCase') -->
<param-name>service.wsdl</param-name>
<param-value>/contract/xmlvend-full-2.1.wsdl</param-value>
</context-param>
<context-param>
<!-- Views (contains files with naming convention: MyUseCase-[in|out].jspx) -->
<param-name>service.operations.views</param-name>
<param-value>/useCaseViews</param-value>
</context-param>
<!-- FIRST INSTALLATION DEFAULTS (overridden by the config file created in §xmlvend/test-client/configuration.properties) -->
<!-- TODO: Move this to a separate XML file in the format expected by the ConfigurationServlet -->
<context-param>
<param-name>init.xmlvend.transport.service.url</param-name>
<param-value>http://localhost:8080/xmlvend-server/service/</param-value>
</context-param>
<context-param>
<!-- Compress all requests? -->
<param-name>init.xmlvend.transport.compression.request</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<!-- Explicitly support compressed responses? -->
<param-name>init.xmlvend.transport.compression.response</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>init.xmlvend.client.clientID</param-name>
<param-value>6004708001981</param-value>
</context-param>
<context-param>
<param-name>init.xmlvend.client.clientIDType</param-name>
<!-- NOTE: The namespace prefix presented here *must* match with the prefix
defined in the message templates -->
<param-value>b0:EANDeviceID</param-value>
</context-param>
<context-param>
<param-name>init.xmlvend.client.terminalID</param-name>
<param-value>0000000000001</param-value>
</context-param>
<context-param>
<param-name>init.xmlvend.client.terminalIDType</param-name>
<!-- NOTE: The namespace prefix presented here *must* match with the prefix
defined in the message templates -->
<param-value>b0:EANDeviceID</param-value>
</context-param>
<context-param>
<!-- Automatically perform advice confirmation after each request? -->
<param-name>init.xmlvend.advice.autoConfirm</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<!-- Automatically perform advice reversal in the case of errors? -->
<param-name>init.xmlvend.advice.autoReversal</param-name>
<param-value>false</param-value>
</context-param>
<!-- Use-case handler (controller) servlet -->
<servlet>
<servlet-name>UseCaseServlet</servlet-name>
<servlet-class>za.co.eskom.nrs.xmlvend.client.UseCaseServlet</servlet-class>
</servlet>
<!-- Configuration view/update servlet -->
<servlet>
<servlet-name>ConfigurationServlet</servlet-name>
<servlet-class>za.co.eskom.nrs.xmlvend.client.setup.ConfigurationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UseCaseServlet</servlet-name>
<url-pattern>/useCase/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ConfigurationServlet</servlet-name>
<url-pattern>/admin/configuration</url-pattern>
</servlet-mapping>
<!-- Filter to make the global configuration keys available to every
request as string attributes -->
<filter>
<filter-name>ConfigurationProvider</filter-name>
<filter-class>za.co.eskom.nrs.xmlvend.client.setup.ConfigurationProviderFilter</filter-class>
</filter>
<!-- Filter to cater for non-conforming user agents (read: MS Internet Explorer)
that do not understand XHTML -->
<filter>
<filter-name>XHTMLMIMEFilter</filter-name>
<filter-class>za.co.solms.web.xhtml.MIMEFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ConfigurationProvider</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>XHTMLMIMEFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jspx</welcome-file>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
<!-- Sets up the client at start-up (configuration, etc) -->
<listener>
<listener-class>za.co.eskom.nrs.xmlvend.client.setup.ClientSetupListener</listener-class>
</listener>
<!-- SOAP Fault Error Page -->
<error-page>
<exception-type>za.co.eskom.nrs.xmlvend.client.SOAPFault</exception-type>
<location>/useCaseViews/_error-SOAPFault.jspx</location>
</error-page>
<!-- Any other (general) server errors -->
<!-- error-page>
<error-code>500</error-code>
<location>/useCaseViews/_error-generic.jspx</location>
</error-page-->
</web-app>