/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.jboss.test.ws.jaxws.samples.webparam;

import jakarta.jws.Oneway;
import jakarta.jws.WebMethod;
import jakarta.jws.WebParam;
import jakarta.jws.WebResult;
import jakarta.jws.WebService;
import jakarta.jws.WebParam.Mode;
import jakarta.jws.soap.SOAPBinding;
import jakarta.jws.soap.SOAPBinding.Style;
import jakarta.xml.ws.Holder;

/**
 * This class was generated by the JAXWS SI.
 * JAX-WS RI 2.0-b26-ea3
 * Generated source version: 2.0
 */
@WebService(name = "PingService", targetNamespace = "http://www.openuri.org/jsr181/WebParamExample", wsdlLocation = "META-INF/wsdl/PingService.wsdl")
@SOAPBinding(style = Style.RPC)
public interface PingService {


    /**
     * 
     * @param ping
     */
    @WebMethod(operationName = "PingOneWay")
    @Oneway
    public void pingOneWay(
        @WebParam(name = "Ping", partName = "Ping")
        PingDocument ping);

    /**
     * 
     * @param ping
     */
    @WebMethod(operationName = "PingTwoWay")
    public void pingTwoWay(
        @WebParam(name = "Ping", mode = Mode.INOUT, partName = "Ping")
        Holder<PingDocument> ping);

    /**
     * 
     * @param secHeader
     * @param ping
     */
    @WebMethod(operationName = "SecurePing")
    @Oneway
    public void securePing(
        @WebParam(name = "Ping", partName = "Ping")
        PingDocument ping,
        @WebParam(name = "SecHeader", targetNamespace = "http://www.openuri.org/jsr181/WebParamExample", header = true, partName = "SecHeader")
        SecurityHeader secHeader);

    /**
     * 
     * @param arg0
     * @return
     *     returns org.jboss.test.ws.jaxws.samples.webparam.PingDocument
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.openuri.org/jsr181/WebParamExample", partName = "return")
    public PingDocument echo(
        @WebParam(name = "arg0", partName = "arg0")
        PingDocument arg0);

}
