When I remove my transaction advice:
<aop:config>
       <aop:advisor id="serviceTx" advice-ref="txAdvice"
pointcut="execution(* *..service..*.*(..))" order="0"/>
   </aop:config>


   <tx:advice id="txAdvice">
       <tx:attributes>
           <tx:method name="find*" read-only="true"/>
           <tx:method name="*"/>
       </tx:attributes>
   </tx:advice>

the WSDLException above is resolved.  Can endpoints be transactional?

On 7/26/07, Brad Harper <[EMAIL PROTECTED]> wrote:

I've tried wiring like you've shown:

   <bean id="TestServiceImpl" class="
com.mycorp.service.thirdparty.TestServiceImpl">
        <property name="daoFactory">
            <ref bean="hibernateDAOFactory"/>
        </property>
    </bean>

    <jaxws:endpoint
      id="testService"
      implementor="#TestServiceImpl"
      address="/testService" />

I get odd service names displayed on the /services/

$Proxy50Port <http://localhost:8080/gdservices/services/testService?wsdl>

I also get a 500 error when attempting to view the wsdl ..

javax.servlet.ServletException: 
org.apache.cxf.transport.http.WSDLQueryException: COULD_NOT_PROVIDE_WSDL
        
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:131)
        org.apache.cxf.transport.servlet.CXFServlet.invoke
(CXFServlet.java:261)
        org.apache.cxf.transport.servlet.CXFServlet.doGet(CXFServlet.java:243)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        javax.servlet.http.HttpServlet.service(HttpServlet.java
:803)
        
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
        
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)

*root cause*

org.apache.cxf.transport.http.WSDLQueryException: COULD_NOT_PROVIDE_WSDL
        
org.apache.cxf.transport.http.WSDLQueryHandler.writeResponse(WSDLQueryHandler.java:185)
        org.apache.cxf.transport.servlet.ServletController.invoke
(ServletController.java:127)
        org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:261)
        org.apache.cxf.transport.servlet.CXFServlet.doGet(CXFServlet.java:243)
        javax.servlet.http.HttpServlet.service
(HttpServlet.java:690)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
        org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:77)

*root cause*

javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing '- WSDL Document -'.: 
org.xml.sax.SAXParseException: The value of the attribute 
"prefix="xmlns",localpart="ns2",rawname="xmlns:ns2"" is invalid. Prefixed 
namespace bindings may not be empty.

        com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
        com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
        
org.apache.cxf.transport.http.WSDLQueryHandler.writeResponse(WSDLQueryHandler.java:141)

        
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:127)
        org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:261)
        org.apache.cxf.transport.servlet.CXFServlet.doGet(CXFServlet.java
:243)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal
(OpenSessionInViewFilter.java:174)
        
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)

Does this look like something with my configuration?  I'm using aop
transactions on the classes I'm trying to expose -- is this a bad practice?

Thanks for your time.

-bh


On 7/26/07, Mansour Raad <[EMAIL PROTECTED]> wrote:
>
> Sorry....replace the implementor, not the id.
>
> Mansour
> :-)
>
> On Jul 26, 2007, at 6:49 PM, Mansour Raad wrote:
>
> > Create a bean as follows:
> >
> > <bean id="reportingServiceImpl"
> > class="com.visualio.reportserver.webservices.ReportingServiceImpl">
> >   <!-- set properties here -->
> > </bean>
> >
> > Replace the jaxws:endpoint id with
> >
> >       id="#reportingServiceImpl"
> >
> > Mansour
> > :-)
> >
> > On Jul 26, 2007, at 6:44 PM, Jeremy Isikoff wrote:
> >
> >> I have an endpoint declaration like this in my beans.xml file, the
> >> trouble is the
> >> implementing class needs to get hold of some other spring beans
> >> (mainly DAOs) so it can do its work.  How can I inject these in or
> >> get the application context from within this implementation
> >> class?  If this was a normal bean declaration id just inject the
> >> DAOs but I dont know what to do with a Jaxws:endpoint bean?  Any
> >> clues?
> >>
> >> <jaxws:endpoint
> >> id="reportingService"
> >> implementor="com.visualio.reportserver.webservices.ReportingServiceIm
> >> pl"
> >> address="/ReportingService"
> >> />
> >>
> >> Jeremy M. Isikoff
> >>
> >>
> >>
> >> _____________________________________________________________________
> >> _______________
> >> Be a better Heartthrob. Get better relationship answers from
> >> someone who knows. Yahoo! Answers - Check it out.
> >> http://answers.yahoo.com/dir/?link=list&sid=396545433
> >>
> >
> > Mansour
> > :-)
> >
> >
> >
>
> Mansour
> :-)
>
>
>
>

Reply via email to