简体   繁体   中英

how to debug maven enunciate plugin tomcat web service

I've inherited a project that contains many java web services. I want to add another one so I've been using one that works as a template. I've added

<namespace id="bsghandle"
    uri="http://bsghandle.queryservice.vcwh.oss.cable.company.com/" />

into the <namespaces> section of enunciate.xml and

namespace="http://bsghandle.queryservice.vcwh.oss.cable.company.com/"
                file="bsghandle.wsdl" />

into the <xml> section.

Here is the pom.xml snippet

    <plugin>
        <groupId>org.codehaus.enunciate</groupId>
        <artifactId>maven-enunciate-plugin</artifactId>
        <version>1.25</version>
        <configuration>
            <configFile>${basedir}/src/main/webapp/WEB-INF/enunciate.xml</configFile>
            <compileDebug>true</compileDebug>
            <addGWTSources>false</addGWTSources>
            <addActionscriptSources>false</addActionscriptSources>
        </configuration>

                        <dependencies>
                            <dependency>
                                <groupId>com.sun</groupId>
                                <artifactId>tools</artifactId>
                                <version>1.7</version>
                            </dependency>
                        </dependencies>

        <executions>
            <execution>
                <goals>
                    <goal>assemble</goal>  
                </goals>
            </execution>
        </executions>

    </plugin>

Maven generates the web.xml entries, including this one:

  <filter-mapping>
    <filter-name>wsdl-redirect-filter-bsghandle</filter-name>
    <url-pattern>/soap/BsgHandleResourceService</url-pattern>
  </filter-mapping>

I created three classes to handle the request, similar to the template. I send a request to the working service like this

 ./soapget.sh soap_serial.xml r.xml

where soapget.sh is

#!/bin/bash

wget "http://localhost:5032/VCWH_QueryService/soap/SettopChannelMapResourceService" --post-file=$1 --header="Content-Type: text/xml" -O $2 

This produces a good response, captured in r.xml.

Now when I try the same thing for the new service I wrote

./bsg.sh soap_rate.xml r2.xml

where bsg.sh is

#!/bin/bash

wget "http://localhost:5032/VCWH_QueryService/soap/BsgHandleResourceService" --post-file=$1 --header="Content-Type: text/xml" -O $2 

I get the useless error

2015-11-23 20:26:52 ERROR 500: Internal Server Error

The log files for the project do not contain any more info either.

When I watch the log file for the working service (in SettopChannelMapResource.java), I can see this debugging statement getting hit as the first thing being output to the log

logger.debug("getChannelMapBySerialNumber() called for sn=" + serialNumber
                + " from ip" + request.getRemoteAddr());

But in my similar service the same logger output does not get hit. How do I debug this?

I used a request in SoapUI. For some reason, that returned a useful error message and I was able to find and fix the problem. Even after fixed, the other method still returned the same useless ERROR 500: Internal Server Error

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM