Services in rosject

Hola, les hago una pregunta que la verdad no la puedo solucionar. Yo estoy haciendo la parte de service de rosject y en el codigo se me esta complicando ya que me tengo que suscribir a las lecturas del sensor laser y tengo que crear un servicio. En el cual voy a tener que tener dos funciones callback(uno para suscribirse y otra para la creación del servicio). Y es ahi donde se me complica porque como hago eso? Yo habia creado solo una función callback pero claro no obtenia las lecturas del sensor laser ya que no estaba suscipto al topico, entonces me suscribi pero ahi me lleno de dudas ya que nose como unir eso. Aca les dejo el codigo.

#--------------------------------Código-----------------------------------------
#!/usr/bin/env python

import rospy

from scan_test.srv import FindWall, FindWallResponse, FindWallRequest

from sensor_msgs.msg import LaserScan

from geometry_msgs.msg import Twist

pub = rospy.Publisher("/cmd_vel", Twist, queue_size=1)

move = Twist()

laser = LaserScan()

def publicando(x, z):
move.linear.x = x

move.linear.z = z

pub.publish(move)

def callback(laser):
print(“Frente :”, laser.ranges[360])

print("270 :", laser.ranges[270])

def my_callback(data):
frente = laser.ranges[360]

rayo_270 = laser.ranges[270]

if frente > 0.3:
    publicando(0.2, 0)

else:
    while rayo_270 > 0.3:
        publicando(0, 0.2)

    respuesta = FindWallResponse()

    respuesta.wallfound = True

    return respuesta

rospy.init_node(‘servidor_servicios’)

suscriber = rospy.Subscriber(’/scan’, LaserScan, callback)

my_service = rospy.Service(’/my_service’, FindWall, my_callback) # create the Service called my_service with the defined callback

rospy.spin()

#---------------------------------Fin------------------------------------------