/** * Copyright © 2006-2016 Web Cohesion (info@webcohesion.com) * * Licensed 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 com.webcohesion.enunciate.examples.jboss.genealogy.services; import com.webcohesion.enunciate.examples.jboss.genealogy.data.Person; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import java.util.Collection; /** * The person service is used to access persons in the database. * * @author Ryan Heaton */ @WebService ( targetNamespace = "http://enunciate.webcohesion.com/samples/full" ) public interface PersonService { /** * Stores a person in the database. * * @param person The person to store in the database. * @return The person that was stored (presumably modified for storage). */ @SOAPBinding ( parameterStyle = SOAPBinding.ParameterStyle.BARE ) Person storePerson(Person person); /** * Reads a set of persons from the database. Intended as an example of * collections as SOAP parameters. * @param personIds The ids of the persons to read. * @return The persons that were read. * @throws ServiceException If the read of one or more of the people failed. */ Collection<Person> readPersons(Collection<String> personIds) throws ServiceException; /** * Deletes a person from the database. Not a one-way method, but still void. * * @param personId The id of the person. * @throws ServiceException If some problem occurred when deleting the person. */ void deletePerson(String personId) throws ServiceException; }