Giter Club home page Giter Club logo

play-cxf's Introduction

play-cxf's People

Contributors

kustra avatar szotyi avatar

Stargazers

Răzvan Rotaru avatar Konstantin avatar Daniel Gonçalves da Silva avatar Onyancha Chrispinus avatar Zin avatar  avatar Edmundo López Bóbeda avatar Angus H. avatar Jan Novacek avatar Martin Caminoa avatar Dan Martin avatar Kenneth Feng avatar Simon Bengtsson avatar Benoit Montuelle avatar Josef Galea avatar Felipe avatar James Ward avatar Saeed Zarinfam avatar 王威威 avatar Michal Karták avatar tsch avatar Ismail Habib Muhammad avatar Denis Borisenko avatar Pedro Flores avatar  avatar Josh Conrad avatar  avatar Haruaki OTAKE avatar Maxence Warzecha avatar Thierry Randria avatar Sandro Gržičić avatar Caxaria avatar  avatar Fedor V avatar  avatar

Watchers

 avatar Thierry Randria avatar  avatar James Cloos avatar Balázs Kővári avatar  avatar Zsolt Jandzsó avatar Pedro Flores avatar Tamás Terray avatar David Frenkel avatar Révész, Ádám avatar Onyancha Chrispinus avatar Robert Jaros avatar Robert Gyerak avatar László Vass avatar Miklós Rezessy avatar iMind developer avatar Mice Pápai avatar Janos Sandor avatar  avatar

play-cxf's Issues

DelayedOutputStream and Ok.chunked performance

In my fork I have already removed DelayedOutputStream and substituted it with just a ByteArrayOutputStream, so that I could shrink the handle method in CxfController down to

val delayedOutput = new ByteArrayOutputStream
val replyPromise: Promise[Message] = Promise.apply()
dispatchMessage(extractMessage, delayedOutput, replyPromise)

replyPromise.future.map { outMessage =>
  Ok(delayedOutput.toByteArray) withHeaders(
    Message.CONTENT_TYPE -> outMessage.get(Message.CONTENT_TYPE).asInstanceOf[String]
  )
}

So far, I haven't found any problems in doing so, and the response time improved by nearly 200ms in my test environment. I'm curious if there was a reason in using the DelayedOutputStream rather than the direct dump of the byte array? I would gladly set up a pull request if this change is acceptable.

No DestinationFactory was found for the namespace http://cxf.apache.org/transports/http.

Play 2.6 branch

When I add a soap:address to the wsdl service like below than I get a No DestinationFactory was found for the namespace http://cxf.apache.org/transports/http error.

<wsdl:service name="CoffeeService">
        <wsdl:port name="CoffeeServicePort" binding="tns:CoffeeServiceSoapBinding">
            <soap:address location="https://localhost:9000/service/coffee"/>
        </wsdl:port>
    </wsdl:service>

DI in Service

Is it possible to use Play dependency injection in service implementation class?

Chunked transfer problem

Hi

I have a requirement that responses cannot be chunked due to old devices not supporting this.

I am currently using your 2.6 branch deployed on bintray. And it works wonderfully but always return chunked. Does older versions of play handle this differently? Is it possible at all in play?

Generated wsdl does not have soap:address tag

Generated wsdl does not have soap:address tag in wsdl:service tag and then the client can not consume service! i encounter following errors:

Invocation without a binding operation.

or

Unsupported endpoint address

play-cxf_play26 1.3.0 artifact not in central repo

The play-cxf_play26 version 1.3.0 is not in the central repo.
see: https://mvnrepository.com/search?q=eu.imind.play

When running the sample app in the play-2.6.x branch, I get an unresolved dependencies: eu.imind.play#play-cxf_play26_2.12;1.3.0: not found

I can't add sample requests in SoapUI

I got these logs messages in SoapUI:

Wed Sep 16 11:55:23 ART 2015:INFO:Finding importer for {http://localhost:9000/service/person}PersonServiceImplServiceSoapBinding
Wed Sep 16 11:55:23 ART 2015:INFO:Missing importer for {http://localhost:9000/service/person}PersonServiceImplServiceSoapBinding

The wsdl response is:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://services/" xmlns:ns2="http://cxf.apache.org/transports/play" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost:9000/service/person" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="PersonServiceImplService" targetNamespace="http://localhost:9000/service/person">
   <wsdl:import location="/service/person?wsdl=PersonService.wsdl" namespace="http://services/" />
   <wsdl:binding name="PersonServiceImplServiceSoapBinding" type="ns1:PersonService">
      <soap:binding style="document" transport="http://cxf.apache.org/transports/play" />
      <wsdl:operation name="getNames">
         <soap:operation soapAction="" style="document" />
         <wsdl:input name="getNames">
            <soap:body use="literal" />
         </wsdl:input>
         <wsdl:output name="getNamesResponse">
            <soap:body use="literal" />
         </wsdl:output>
      </wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="PersonServiceImplService">

I can't test the web service made with play-cxf.

Doesn't work on Play 2.4

I am attempting to upgrade to Play 2.4 but I get an exception. Not sure if the source is this plugin but it looks like it.

play.api.UnexpectedException: Unexpected exception[BeanCreationException: Error creating bean with name 'org.apache.cxf.transport.play.CxfController#0' defined in class path resource [cxf.xml]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.cxf.transport.play.CxfController$]: Factory method 'getInstance' threw exception; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.cxf.transport.play.CxfController$]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:165) ~[play-server_2.10-2.4.2.jar:2.4.2]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:121) ~[play-server_2.10-2.4.2.jar:2.4.2]
at scala.Option.map(Option.scala:145) ~[scala-library-2.10.5.jar:na]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:121) ~[play-server_2.10-2.4.2.jar:2.4.2]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:119) ~[play-server_2.10-2.4.2.jar:2.4.2]
....

Thread safe request context

Is it possible with this module to achieve thread safe request context? I found some documentation on official cxf website (http://cxf.apache.org/faq.html) and that part of code:

((BindingProvider)proxy).getRequestContext().put("thread.local.request.context", "true");

javax.xml.ws.soap.SOAPFaultException: Play! Transport doesn't support client operation mode!

In my project, I have to utilize services like this :

 http://212.16.81.29:8011/MaliatWS.asmx?wsdl 

As you mentioned in your guidance, we have the following dependency in build.sbt :

 libraryDependencies += "org.apache.cxf" % "cxf-rt-frontend-jaxws" % "3.1.2"

Unfortunately, this dependency causes problem for using that service. and it shows the following exception :

 javax.xml.ws.soap.SOAPFaultException: Play! Transport doesn't support client operation mode!

When I omit that dependency, there is no problem. But for SOAP service we need that dependency.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.