Code Monkey home page Code Monkey logo

bpelcam's People

Contributors

waterback avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

bpelcam's Issues

No order service available under http://localhost:9000/order?wsdl

No service is available under http://localhost:9000/order?wsdl. No exception is thrown in the log, see below.

Setup:

  • MacOS 10.8.2
  • Java 1.6.0_35 or 1.7.0_07

Log:

[507]% mvn camel:run
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building A Camel Route 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> camel-maven-plugin:2.9.0:run (default-cli) @ bpelcam >>>
[INFO]
[INFO] --- cxf-codegen-plugin:2.3.9:wsdl2java (generate-sources) @ bpelcam ---
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ bpelcam ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 12 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ bpelcam ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ bpelcam ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ bpelcam ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] <<< camel-maven-plugin:2.9.0:run (default-cli) @ bpelcam <<<
[INFO]
[INFO] --- camel-maven-plugin:2.9.0:run (default-cli) @ bpelcam ---
[INFO] Classpath = [...

โ€ฆ

[pache.camel.spring.Main.main()] MainSupport INFO Apache Camel 2.9.0 starting
[pache.camel.spring.Main.main()] CamelNamespaceHandler INFO OSGi environment not detected.
[pache.camel.spring.Main.main()] OldSpringSupport WARN Import of META-INF/cxf/cxf-extension-soap.xml has been deprecated and is unnecessary.
[pache.camel.spring.Main.main()] OldSpringSupport WARN Import of META-INF/cxf/cxf-extension-http-jetty.xml has been deprecated and is unnecessary.
[pache.camel.spring.Main.main()] SpringCamelContext INFO Apache Camel 2.9.0 (CamelContext: camel-1) is starting
[pache.camel.spring.Main.main()] SpringCamelContext INFO StreamCaching is enabled on CamelContext: camel-1
[pache.camel.spring.Main.main()] ManagementStrategyFactory INFO JMX enabled. Using ManagedManagementStrategy.
[pache.camel.spring.Main.main()] ultManagementLifecycleStrategy INFO StatisticsLevel at All so enabling load performance statistics
[pache.camel.spring.Main.main()] AnnotationTypeConverterLoader INFO Found 3 packages with 15 @converter classes to load
[pache.camel.spring.Main.main()] DefaultTypeConverter INFO Loaded 168 core type converters (total 168 type converters)
[pache.camel.spring.Main.main()] AnnotationTypeConverterLoader INFO Loaded 5 @converter classes
[pache.camel.spring.Main.main()] DefaultTypeConverter INFO Loaded additional 23 type converters (total 191 type converters) in 0.065 seconds
[pache.camel.spring.Main.main()] XPathBuilder INFO Created default XPathFactory com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl@2fbfefb9
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://www.example.org/external/}Process from WSDL: /wsdl/external.wsdl
[pache.camel.spring.Main.main()] stractWSDLBasedEndpointFactory WARN Could not find endpoint/port for {http://www.example.org/external/}ProcessPort in wsdl. Using {http://www.example.org/external/}process.
[pache.camel.spring.Main.main()] ServerImpl INFO Setting the server's publish address to be http://localhost:9000/externalProcess
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.interceptor.OneWayProcessorInterceptor@497f5dc5
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor@48e55635
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderInInterceptor@487ed6f6
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAInInterceptor@7f52d5a8
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@69ab6e55
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@75d8c4a5
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@6a566914
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://www.example.org/internal/}Process from WSDL: /wsdl/internal.wsdl
[pache.camel.spring.Main.main()] stractWSDLBasedEndpointFactory WARN Could not find endpoint/port for {http://www.example.org/internal/}ProcessPort in wsdl. Using {http://www.example.org/internal/}processSOAP.
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor@79fecc0
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderInInterceptor@14703529
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAInInterceptor@52b2213a
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.frontend.WSDLGetInterceptor@2ca39140
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@269517a5
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@643656d
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@32b7da51
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://www.example.org/internal/}Process from WSDL: /wsdl/internal.wsdl
[pache.camel.spring.Main.main()] stractWSDLBasedEndpointFactory WARN Could not find endpoint/port for {http://www.example.org/internal/}ProcessPort in wsdl. Using {http://www.example.org/internal/}processSOAP.
[pache.camel.spring.Main.main()] ServerImpl INFO Setting the server's publish address to be http://localhost:9000/internalProcess
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.interceptor.OneWayProcessorInterceptor@3c3ee8b1
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor@461edb5d
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderInInterceptor@13d3daa2
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAInInterceptor@39b6cbd9
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@10013129
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@3e4282f4
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@a3811b
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://www.example.org/internal/}Authority from WSDL: /wsdl/internal.wsdl
[pache.camel.spring.Main.main()] stractWSDLBasedEndpointFactory WARN Could not find endpoint/port for {http://www.example.org/internal/}AuthorityPort in wsdl. Using {http://www.example.org/internal/}AuthoritySOAP.
[pache.camel.spring.Main.main()] ServerImpl INFO Setting the server's publish address to be http://localhost:9000/internalMakeApplication
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.interceptor.OneWayProcessorInterceptor@63e266df
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor@24cfedb4
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderInInterceptor@4efed74d
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAInInterceptor@3ce928bf
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@6f7232d6
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@3267b8c3
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@3793240f
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://www.example.org/external/}Authority from WSDL: /wsdl/external.wsdl
[pache.camel.spring.Main.main()] stractWSDLBasedEndpointFactory WARN Could not find endpoint/port for {http://www.example.org/external/}AuthorityPort in wsdl. Using {http://www.example.org/external/}authority.
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor@50070137
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderInInterceptor@7be0eaec
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAInInterceptor@6b5f6b7d
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.frontend.WSDLGetInterceptor@2ca39140
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@458a129d
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@6bcc2515
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@2796bcfd
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://www.example.org/external/}Authority from WSDL: /wsdl/external.wsdl
[pache.camel.spring.Main.main()] stractWSDLBasedEndpointFactory WARN Could not find endpoint/port for {http://www.example.org/external/}AuthorityPort in wsdl. Using {http://www.example.org/external/}authority.
[pache.camel.spring.Main.main()] ServerImpl INFO Setting the server's publish address to be http://localhost:9015/externalMakeApplication
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.interceptor.OneWayProcessorInterceptor@c4e207b
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor@5d36718c
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderInInterceptor@2158ce23
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAInInterceptor@4d456cef
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@8f2e68b
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@2fdb444
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@5e45dde4
[pache.camel.spring.Main.main()] CxfEndpoint WARN The endpoint/port name of cxf://bean:insuranceEndpoint-v2 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] CxfEndpoint WARN The service name of cxf://bean:insuranceEndpoint-v2 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://bpel.innoq.com/insurance/v2}InsuranceEndpointService from WSDL: /wsdl/insuranceV2.wsdl
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.frontend.WSDLGetInterceptor@2ca39140
[pache.camel.spring.Main.main()] CxfEndpoint WARN The endpoint/port name of cxf://bean:insuranceEndpoint-v1 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] CxfEndpoint WARN The service name of cxf://bean:insuranceEndpoint-v1 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://bpel.innoq.com/insurance/v1}InsuranceEndpointService from WSDL: /wsdl/insuranceV1.wsdl
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.frontend.WSDLGetInterceptor@2ca39140
[pache.camel.spring.Main.main()] CxfEndpoint WARN The endpoint/port name of cxf://bean:insuranceEndpoint-v1 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] CxfEndpoint WARN The service name of cxf://bean:insuranceEndpoint-v1 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://bpel.innoq.com/insurance/v1}InsuranceEndpointService from WSDL: /wsdl/insuranceV1.wsdl
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.frontend.WSDLGetInterceptor@2ca39140
[pache.camel.spring.Main.main()] CxfEndpoint WARN The endpoint/port name of cxf://bean:insuranceEndpoint-v2 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] CxfEndpoint WARN The service name of cxf://bean:insuranceEndpoint-v2 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://bpel.innoq.com/insurance/v2}InsuranceEndpointService from WSDL: /wsdl/insuranceV2.wsdl
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.frontend.WSDLGetInterceptor@2ca39140
[pache.camel.spring.Main.main()] CxfEndpoint WARN The endpoint/port name of cxf://bean:insuranceEndpoint-v1 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] CxfEndpoint WARN The service name of cxf://bean:insuranceEndpoint-v1 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://bpel.innoq.com/insurance/v1}InsuranceEndpointService from WSDL: /wsdl/insuranceV1.wsdl
[pache.camel.spring.Main.main()] ServerImpl INFO Setting the server's publish address to be http://localhost:9000/process1
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.interceptor.OneWayProcessorInterceptor@e3553f9
[pache.camel.spring.Main.main()] JaxbDataFormat INFO Creating JAXBContext with contextPath: com.innoq.bpel.insurance.v1.types and ApplicationContextClassLoader: java.net.URLClassLoader@4ef55d5d
[pache.camel.spring.Main.main()] CxfEndpoint WARN The endpoint/port name of cxf://bean:insuranceEndpoint-v2 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] CxfEndpoint WARN The service name of cxf://bean:insuranceEndpoint-v2 is empty, cxf will try to load the first one in wsdl for you.
[pache.camel.spring.Main.main()] ReflectionServiceFactoryBean INFO Creating Service {http://bpel.innoq.com/insurance/v2}InsuranceEndpointService from WSDL: /wsdl/insuranceV2.wsdl
[pache.camel.spring.Main.main()] ServerImpl INFO Setting the server's publish address to be http://localhost:9000/process2
[pache.camel.spring.Main.main()] MessageDataFormatFeature INFO removing the interceptor org.apache.cxf.interceptor.OneWayProcessorInterceptor@6a75c5d3
[pache.camel.spring.Main.main()] JaxbDataFormat INFO Creating JAXBContext with contextPath: com.innoq.bpel.insurance.v2.types and ApplicationContextClassLoader: java.net.URLClassLoader@4ef55d5d
[pache.camel.spring.Main.main()] Server INFO jetty-7.5.3.v20111011
[pache.camel.spring.Main.main()] AbstractConnector INFO Started SelectChannelConnector@localhost:9000 STARTING
[pache.camel.spring.Main.main()] ContextHandler INFO started o.e.j.s.h.ContextHandler{,null}
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route1 started and consuming from: Endpoint[cxf://bean:externalSendSignedDocument]
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route2 started and consuming from: Endpoint[seda://handlefile]
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route3 started and consuming from: Endpoint[seda://forwardmessage]
[pache.camel.spring.Main.main()] ContextHandler INFO started o.e.j.s.h.ContextHandler{,null}
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route4 started and consuming from: Endpoint[cxf://bean:internalSendSignedDocument]
[pache.camel.spring.Main.main()] ContextHandler INFO started o.e.j.s.h.ContextHandler{,null}
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route5 started and consuming from: Endpoint[cxf://bean:internalMakeApplication?headerFilterStrategy=%23dropAllMessageHeadersStrategy]
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route6 started and consuming from: Endpoint[seda://callExternal]
[pache.camel.spring.Main.main()] Server INFO jetty-7.5.3.v20111011
[pache.camel.spring.Main.main()] AbstractConnector INFO Started SelectChannelConnector@localhost:9015 STARTING
[pache.camel.spring.Main.main()] ContextHandler INFO started o.e.j.s.h.ContextHandler{,null}
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route7 started and consuming from: Endpoint[cxf://bean:externalMakeApplication]
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route8 started and consuming from: Endpoint[seda://out]
[pache.camel.spring.Main.main()] JettyHttpComponent INFO Using default Jetty continuation timeout for: Endpoint[http://0.0.0.0:9080/insuranceservice]
[pache.camel.spring.Main.main()] Server INFO jetty-7.5.3.v20111011
[pache.camel.spring.Main.main()] ContextHandler INFO started o.e.j.s.ServletContextHandler{/,null}
[pache.camel.spring.Main.main()] AbstractConnector INFO Started [email protected]:9080 STARTING
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route9 started and consuming from: Endpoint[http://0.0.0.0:9080/insuranceservice]
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route10 started and consuming from: Endpoint[seda://evaluateV1Scheme]
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route11 started and consuming from: Endpoint[seda://evaluateV2Scheme]
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route12 started and consuming from: Endpoint[seda://fault]
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: route13 started and consuming from: Endpoint[direct://transformV1V2]
[pache.camel.spring.Main.main()] ContextHandler INFO started o.e.j.s.h.ContextHandler{,null}
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: handleProcess_v1 started and consuming from: Endpoint[cxf://bean:insuranceEndpoint-v1]
[pache.camel.spring.Main.main()] ContextHandler INFO started o.e.j.s.h.ContextHandler{,null}
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: handleProcess_v2 started and consuming from: Endpoint[cxf://bean:insuranceEndpoint-v2]
[pache.camel.spring.Main.main()] SpringCamelContext INFO Route: save started and consuming from: Endpoint[seda://save]
[pache.camel.spring.Main.main()] SpringCamelContext INFO Total 16 routes, of which 16 is started.
[pache.camel.spring.Main.main()] SpringCamelContext INFO Apache Camel 2.9.0 (CamelContext: camel-1) started in 2.950 seconds

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.